elieldepaula/pagseguro

一个用于集成PagSeguro标准支付功能的替代库。

dev-master 2017-07-09 21:07 UTC

This package is auto-updated.

Last update: 2024-08-29 04:53:54 UTC


README

这是一个用于PagSeguro标准支付功能的替代库。该库使用PagSeguro API的2.*版本。

安装

您应该使用 Composer 来安装此库

在您的composer.json文件中添加以下内容

"require": {
    "elieldepaula/pagseguro":"dev-master"
}

使用示例

生成支付按钮

// Considerei que você já tem um autoload configurado.

use elieldepaula\pagseguro\PagSeguro;

try {
    
    // Referência da sua venda.
    $referencia = (int) 2017;
    
    $ps = new PagSeguro();    
    $ps->setCredentials(['email'=>'mail@dominio.com', 'token'=>'N0N0N0']);
    $ps->setReference($referencia);
    $ps->setCustomer(
        [
            'nome' => 'Comprador de Teste',
            'email' => 'email@sandbox.pagseguro.com.br',
            'shippingType' => 3
        ]
    );
    $ps->setProducts(
        [
            'id' => 1,
            'descricao' => 'Produto de exemplo',
            'valor' => 1.99,
            'quantidade' => 2,
            'peso' => 0
        ],
        ... (mais produtos)
    );
    
    $botao = $ps->getButton();
	
    echo $botao;
    
} catch (Exception $error) {
    echo $error->getMessage();
}

通过交易代码进行查询

// Considerei que você já tem um autoload configurado.

use elieldepaula\pagseguro\PagSeguro;

try {

    $ps = new PagSeguro();
    $ps->setCredentials(['email'=>'mail@dominio.com', 'token'=>'N0N0N0']);
    $resultado = $ps->findByCode($_POST['transactionCode']);
    
    var_dump($resultado);
    
} catch (Exception $error) {
    echo $error->getMessage();
}

通过通知代码进行查询

// Considerei que você já tem um autoload configurado.

use elieldepaula\pagseguro\PagSeguro;

try {

    $ps = new PagSeguro();
    $ps->setCredentials(['email'=>'mail@dominio.com', 'token'=>'N0N0N0']);
    $resultado = $ps->findByNotification($_POST['notificationCode']);
    
    var_dump($resultado);
    
} catch (Exception $error) {
    echo $error->getMessage();
}

Pag Seguro自动通知返回示例

此类返回会在Pag Seguro系统更改交易状态时发生,例如,当交易状态从“等待支付”更改为“已支付”时。

Pag Seguro会将通知代码以POST形式发送到Pag Seguro账户设置中指定的URL。

然后,我们使用通知代码来获取交易的全部数据,其中您可以获取在生成支付按钮时创建的“参考”字段。

这样,您就可以在数据库中识别您的销售,并更新状态或触发您系统中的任何其他类型操作。

// Considerei que você já tem um autoload configurado.

use elieldepaula\pagseguro\PagSeguro;

if (count($_POST) > 0) {

    try {

        $ps = new PagSeguro();
        $ps->setCredentials(['email'=>'mail@dominio.com', 'token'=>'N0N0N0']);

        $notificationCode = (isset($_POST['notificationCode']) && $_POST['notificationCode'] != '') ? $_POST['notificationCode'] : FALSE;

        $resultado = $ps->findByNotification($notificationCode);

        var_dump($resultado);

        // Exemplo: $resultado->reference;

    } catch (Exception $error) {
        echo $error->getMessage();
    }

} else {
    echo "Nenhum POST foi recebido.";
}