<?php
/*
* DATA DE CRIAÇÃO: 07/11/2011
* ÚLTIMA ALTERAÇÃO: 07/11/2011
* VERSÃO ATUAL: 1.0
* LICENSA: OPEN SOURCE
*/
interface IPagseguro{
public function set_email_vendedor($email_vendedor);
public function set_token($token);
public function set_codigo_produto($codigo_produto);
public function set_nome_produto($nome_produto);
public function set_valor_produto($valor_produto);
public function set_peso_produto($peso_produto);
public function set_tipo_entrega($tipo_entrega);
public function set_nome_comprador($nome_comprador);
public function set_email_comprador($email_comprador);
public function set_bairro($bairro);
public function set_endereco($endereco);
public function set_complemento($complemento);
public function set_numero($numero);
public function set_cidade($cidade);
public function set_estado($estado);
public function set_cep($cep);
public function set_ddd($ddd);
public function set_telefone($telefone);
public function get_pagar($id,$qtn);
public function get_definir_entrega();
public function get_notificacoes();
}
class Pagseguro{
protected $email_vendedor;
protected $token;
protected $codigo_produto;
protected $nome_produto;
protected $valor_produto;
protected $peso_produto;
protected $tipo_entrega;
protected $nome_comprador;
protected $email_comprador;
protected $bairro;
protected $endereco;
protected $complemento;
protected $numero;
protected $cidade;
protected $estado;
protected $cep;
protected $ddd;
protected $telefone;
public function set_email_vendedor($email_vendedor){
return $this->email_vendedor = $email_vendedor;
}
public function set_token($token){
return $this->token = $token;
}
public function set_codigo_produto($codigo_produto){
return $this->codigo_produto = $codigo_produto;
}
public function set_nome_produto($nome_produto){
return $this->nome_produto = $nome_produto;
}
public function set_valor_produto($valor_produto){
return $this->valor_produto = $valor_produto;
}
public function set_peso_produto($peso_produto){
return $this->peso_produto = $peso_produto;
}
public function set_tipo_entrega($tipo_entrega){
return $this->tipo_entrega = $tipo_entrega;
}
public function set_nome_comprador($nome_comprador){
return $this->nome_comprador = $nome_comprador;
}
public function set_email_comprador($email_comprador){
return $this->email_comprador = $email_comprador;
}
public function set_bairro($bairro){
return $this->bairro = $bairro;
}
public function set_endereco($endereco){
return $this->endereco = $endereco;
}
public function set_complemento($complemento){
return $this->complemento = $complemento;
}
public function set_numero($numero){
return $this->numero = $numero;
}
public function set_cidade($cidade){
return $this->cidade = $cidade;
}
public function set_estado($estado){
return $this->estado = $estado;
}
public function set_cep($cep){
return $this->cep = $cep;
}
public function set_ddd($ddd){
return $this->ddd = $ddd;
}
public function set_telefone($telefone){
return $this->telefone = $telefone;
}
public function get_pagar($id,$qtn){
return $this->pagar($id,$qtn);
}
public function get_definir_entrega(){
$this->definir_entrega();
}
public function get_notificacoes(){
return $this->notificacoes();
}
protected function definir_entrega(){
switch($this->tipo_entrega){
case 'pac':
$this->tipo_entrega = 1;
case 'sedex':
$this->tipo_entrega = 2;
case '':
$this->tipo_entrega = 3;
}
}
protected function pagar($id,$qtn){
$post_fields = "email=$this->email_vendedor";
$post_fields.= "&token=$this->token";
$post_fields.= "¤cy=BRL";
$post_fields.= "&itemId$id=$id";
$post_fields.= "&itemDescription$id=$this->nome_produto";
$post_fields.= "&itemAmount$id=$this->valor_produto";
$post_fields.= "&itemQuantity$id=$qtn";
$post_fields.= "&itemWeight$id=$this->peso_produto";
$post_fields.= "&senderName=$this->nome_comprador";
$post_fields.= "&senderAreaCode=$this->ddd";
$post_fields.= "&senderPhone=$this->telefone";
$post_fields.= "&senderEmail=$this->email_comprador";
$post_fields.= "&shippingType=$this->tipo_entrega";
$post_fields.= "&shippingAddressStreet=$this->endereco";
$post_fields.= "&shippingAddressNumber=$this->numero";
$post_fields.= "&shippingAddressComplement=$this->complemento";
$post_fields.= "&shippingAddressDistrict=$this->bairro";
$post_fields.= "&shippingAddressPostalCode=$this->cep";
$post_fields.= "&shippingAddressCity=$this->cidade";
$post_fields.= "&shippingAddressState=$this->estado";
$post_fields.= "&shippingAddressCountry=BRA";
$ch = curl_init("https://ws.pagseguro.uol.com.br/v2/checkout/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1"));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
$r = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($r);
# verifica se o código existe ( se existir é porque tudo está ok )
if(isset($xml->code)){
# retorna o codigo
return $xml->code;
}else{
return false;
}
}
protected function notificacoes(){
# seta a url de destino
$url = "https://ws.pagseguro.uol.com.br/v2/transactions/$this->codigo_produto?email=$this->email_vendedor&token=$this->token";
# armazena os tipos de status para comparar
$status = array(
1 => 'Aguardando pagamento',
2 => 'Em análise',
3 => 'Pago',
4 => 'DisponÃvel',
5 => 'Em disputa',
6 => 'Devolvida',
7 => 'Cancelada'
);
# faz a consulta a API
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$r = curl_exec($ch);
curl_close($ch);
# retorna o status no formato xml
$xml = simplexml_load_string($r);
# retorna o status da compra
return $status[(int)$xml->status];
}
}
?>
Página 1 de 1
Pagseguro Classe que provê algumas interações com a API do PAGSEGURO
#1
Revisou 09 janeiro 2012 - 20:50
#2
Revisou 10 janeiro 2012 - 15:09
... Métodos que contém muita responsabilidade são problemáticos !
#3
Revisou 02 abril 2012 - 21:26
<?php
/*
* DATA DE CRIAÇÃO: 07/11/2011
* ÚLTIMA ALTERAÇÃO: 02/04/2012
* VERSÃO ATUAL: 1.1
* LICENSA: OPEN SOURCE
*/
interface IPagseguro{
public function setEmailVendedor($email_vendedor);
public function setToken($token);
public function setCodigo_produto($codigo_produto);
public function setNomeProduto($nome_produto);
public function setValorProduto($valor_produto);
public function setPesoProduto($peso_produto);
public function setTipoEntrega($tipo_entrega);
public function setNomeComprador($nome_comprador);
public function setEmailComprador($email_comprador);
public function setBairro($bairro);
public function setEndereco($endereco);
public function setComplemento($complemento);
public function setNumero($numero);
public function setCidade($cidade);
public function setEstado($estado);
public function setCep($cep);
public function setDdd($ddd);
public function setTelefone($telefone);
public function getPagar($id,$qtn);
public function getDefinir_entrega();
public function getNotificacoes();
}
class Pagseguro implements IPagseguro{
protected $email_vendedor;
protected $token;
protected $codigo_produto;
protected $nome_produto;
protected $valor_produto;
protected $peso_produto;
protected $tipo_entrega;
protected $nome_comprador;
protected $email_comprador;
protected $bairro;
protected $endereco;
protected $complemento;
protected $numero;
protected $cidade;
protected $estado;
protected $cep;
protected $ddd;
protected $telefone;
public function setEmailVendedor($email_vendedor){
return $this->emailVendedor = $email_vendedor;
}
public function setToken($token){
return $this->token = $token;
}
public function setCodigoProduto($codigo_produto){
return $this->codigoProduto = $codigo_produto;
}
public function setNomeProduto($nome_produto){
return $this->nomeProduto = $nome_produto;
}
public function setValorProduto($valor_produto){
return $this->valorProduto = $valor_produto;
}
public function setPesoProduto($peso_produto){
return $this->pesoProduto = $peso_produto;
}
public function setTipoEntrega($tipo_entrega){
return $this->tipoEntrega = $tipo_entrega;
}
public function setNomeComprador($nome_comprador){
return $this->nomeComprador = $nome_comprador;
}
public function setEmailComprador($email_comprador){
return $this->emailComprador = $email_comprador;
}
public function setBairro($bairro){
return $this->bairro = $bairro;
}
public function setEndereco($endereco){
return $this->endereco = $endereco;
}
public function setComplemento($complemento){
return $this->complemento = $complemento;
}
public function setNumero($numero){
return $this->numero = $numero;
}
public function setCidade($cidade){
return $this->cidade = $cidade;
}
public function setEstado($estado){
return $this->estado = $estado;
}
public function setCep($cep){
return $this->cep = $cep;
}
public function setDDD($ddd){
return $this->ddd = $ddd;
}
public function setTelefone($telefone){
return $this->telefone = $telefone;
}
public function getPagar($id,$qtn){
return $this->pagar($id,$qtn);
}
public function getDefinirEntrega(){
$this->definir_entrega();
}
public function getNotificacoes(){
return $this->notificacoes();
}
protected function definirEntrega(){
switch($this->tipo_entrega){
case 'pac':
$this->tipo_entrega = 1;
case 'sedex':
$this->tipo_entrega = 2;
case '':
$this->tipo_entrega = 3;
}
}
protected function pagar($id,$qtn){
$post_fields = "email=$this->email_vendedor";
$post_fields.= "&token=$this->token";
$post_fields.= "¤cy=BRL";
$post_fields.= "&itemId$id=$id";
$post_fields.= "&itemDescription$id=$this->nome_produto";
$post_fields.= "&itemAmount$id=$this->valor_produto";
$post_fields.= "&itemQuantity$id=$qtn";
$post_fields.= "&itemWeight$id=$this->peso_produto";
$post_fields.= "&senderName=$this->nome_comprador";
$post_fields.= "&senderAreaCode=$this->ddd";
$post_fields.= "&senderPhone=$this->telefone";
$post_fields.= "&senderEmail=$this->email_comprador";
$post_fields.= "&shippingType=$this->tipo_entrega";
$post_fields.= "&shippingAddressStreet=$this->endereco";
$post_fields.= "&shippingAddressNumber=$this->numero";
$post_fields.= "&shippingAddressComplement=$this->complemento";
$post_fields.= "&shippingAddressDistrict=$this->bairro";
$post_fields.= "&shippingAddressPostalCode=$this->cep";
$post_fields.= "&shippingAddressCity=$this->cidade";
$post_fields.= "&shippingAddressState=$this->estado";
$post_fields.= "&shippingAddressCountry=BRA";
$ch = curl_init("https://ws.pagseguro.uol.com.br/v2/checkout/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1"));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
$r = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($r);
# verifica se o código existe ( se existir é porque tudo está ok )
if(isset($xml->code)){
# retorna o codigo
return $xml->code;
}else{
return false;
}
}
protected function notificacoes(){
# seta a url de destino
$url = "https://ws.pagseguro.uol.com.br/v2/transactions/$this->codigo_produto?email=$this->email_vendedor&token=$this->token";
# armazena os tipos de status para comparar
$status = array(
1 => 'Aguardando pagamento',
2 => 'Em análise',
3 => 'Pago',
4 => 'DisponÃvel',
5 => 'Em disputa',
6 => 'Devolvida',
7 => 'Cancelada'
);
# faz a consulta a API
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$r = curl_exec($ch);
curl_close($ch);
# retorna o status no formato xml
$xml = simplexml_load_string($r);
# retorna o status da compra
return $status[(int)$xml->status];
}
}
?>
#4
Revisou 16 maio 2012 - 01:10
Vou instalar e fazer um teste, depois digo de funcionou legal
Queria alterar o mundo...
Mais não me deram o código-fonte!!!
Mais não me deram o código-fonte!!!
Compartilhar este código:
Página 1 de 1

Regra












