Integração Pagseguro PHP

<?php

/**
* Description of PagSeguro
*
* @author Thyago Henrique Pacher - <thyago.pacher@gmail.com>
*/
//header('Content-Type: application/x-www-form-urlencoded; charset=utf-8');

class PagSeguro {

private $urlCheckout = 'https://ws.pagseguro.uol.com.br/v2/checkout?email={email}&token={token}';
private $urlConsulta = 'https://ws.pagseguro.uol.com.br/v2/transactions?initialDate={dataInicial}T00:00&finalDate={dataFinal}T00:00&page=1&maxPageResults=100&email={email}&token={token}';
private $urlConsulta2 = 'https://ws.pagseguro.uol.com.br/v3/transactions/{codigo}?email={email}&token={token}';
public $token = '';
public $email = '';
public $valorCompra = '';
private $conexao;

public function __construct() {

}

public function consultaCodigo($codigo) {
$this->urlConsulta2 = str_replace('{email}', $this->email, $this->urlConsulta2);
$this->urlConsulta2 = str_replace('{token}', $this->token, $this->urlConsulta2);
$this->urlConsulta2 = str_replace('{codigo}', $codigo, $this->urlConsulta2);
return $this->AbreSite($this->urlConsulta2);
}
/**
* @assert (param1, param2) == expectedResult
*/
public function consultaData($dataInicial, $dataFim) {
if (!isset($dataInicial) || $dataInicial == NULL ||
$dataInicial == "") {
$dataInicial = date("Y-m-d");
}
if (!isset($dataFim) || $dataFim == NULL || $dataFim == "") {
$dataFim = date("Y-m-d");
}
$this->urlConsulta = str_replace('{email}', $this->email, $this->urlConsulta);
$this->urlConsulta = str_replace('{token}', $this->token, $this->urlConsulta);
$this->urlConsulta = str_replace('{dataInicial}', $dataInicial, $this->urlConsulta);
$this->urlConsulta = str_replace('{dataFinal}', $dataFim, $this->urlConsulta);
//echo $this->urlConsulta;
return $this->AbreSite($this->urlConsulta);
}

public function compra($res) {
$this->urlCheckout = str_replace('{email}', $this->email, $this->urlCheckout);
$this->urlCheckout = str_replace('{token}', $this->token, $this->urlCheckout);

$data['email'] = $this->email;
$data['token'] = $this->token;
$data['currency'] = 'BRL';


$data['itemId1'] = $res["codproduto"];
$data['itemQuantity1'] = 1;
$vlPago = (isset($this->valorCompra) && $this->valorCompra != NULL && $this->valorCompra != "") ? $this->valorCompra : $res["valor"];
$data['itemAmount1'] = number_format($vlPago, 2, '.', '');
$data['itemDescription1'] = "Curso " . utf8_decode($res["nome"]);
$data['reference'] = $res['codpessoa'];
$data['senderName'] = str_replace(' ', ' ', $res["nome_pessa"]);
$data['senderEmail'] = $res["email"];
$data['redirectURL'] = 'http://comexito.com.br';

$data = http_build_query($data);

// echo $this->urlCheckout;

return $this->AbreSite($this->urlCheckout, $data);
}

public function assinatura($res) {
$this->urlCheckout = str_replace('{email}', $this->email, $this->urlCheckout);
$this->urlCheckout = str_replace('{token}', $this->token, $this->urlCheckout);

$data['email'] = $this->email;
$data['token'] = $this->token;
$data['name'] = "Assinatura plano " .
strtolower(utf8_decode($res['nome']));
$data['maxTotalAmount'] = number_format($res["valor"], 2);
$data['amountPerPayment'] = number_format($res["valor"], 2);
$data['currency'] = 'BRL';
$data['encoding'] = 'UTF-8';
$data['itemId1'] = $res['codproduto'];
$data['itemQuantity1'] = 1;
$data['itemAmount1'] = number_format($res["valor"], 2);
$data['itemDescription1'] = utf8_decode($res['nome']);
$data['reference'] = $res['codproduto'] . $res['codpessoa'];
$data['senderName'] = utf8_decode($res['nome_pessa']);
$data['senderEmail'] = $res['email'];
$data['redirectURL'] = 'http://bradmontana.com.br';
$data['period'] = "MONTHLY";

$data = http_build_query($data);
return $this->AbreSite($this->urlCheckout, $data);
}

/**
* @author Thyago Henrique Pacher
* @param string $url site a ser pesquisado o conteúdo
* @param array $dados define o post de dados
*/
public function AbreSite($url, $dados = NULL) {
$site_url = $url;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $site_url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

if (isset($dados) && $dados != NULL) {
//parametros em post
curl_setopt($ch, CURLOPT_POSTFIELDS, $dados);
}
ob_start();
curl_exec($ch);
curl_close($ch);
$file_contents = ob_get_contents();
ob_end_clean();
return $file_contents;
}

}

 

Comentários

Postagens mais visitadas deste blog