canislupus / api-client-pagseguro
PagSeguro API 客户端
0.4.0
2023-10-19 10:34 UTC
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7
README
用于与 PagSeguro 系统API 集成的客户端。 了解 PagSeguro
此客户端针对 PagSeguro 的最新 API,文档在 https://dev.pagbank.uol.com.br/reference/introducao 上
安装
Composer
composer require canislupus/api-client-pagseguro
使用
use CanisLupus\ApiClients\PagSeguro\v1\PagSeguroApiClient; use CanisLupus\ApiClients\PagSeguro\v1\Enums\EnvironmentEnum; use CanisLupus\ApiClients\PagSeguro\v1\PagSeguroApiConfig; use CanisLupus\ApiClients\PagSeguro\v1\Exceptions\PagSeguroApiException; // Inicialize o cliente passando um objeto de configuração $clientPagSeguro = new PagSeguroApiClient( new PagSeguroApiConfig(EnvironmentEnum::Sandbox, '#SEU-TOKEN-PAGSEGURO#') ); // Use o cliente try { // Por exemplo, para criar uma chave-pública $newPublicKey = $clientPagSeguro->publicKeys->create(); // Para criar um pedido (veja nos exemplos abaixo como passar os $dadosPedido) $newOrder = $clientPagSeguro->orders->create($dadosPedido); } catch (PagSeguroApiException $e) { die($e->getMessage()); }
可以通过传递构建的 OrderResource 对象来创建一个订单
$orderResource = new OrderResource(); $orderResource->setReferenceId('ex-00001'); $orderResource->setCustomer(new CustomerResource( 'Jose da Silva', 'c96827089160215759351@sandbox.pagseguro.com.br', '12345678909' )); $orderResource->setItems([ new ItemResource('item-id-001', 'Item 01', 2, 4500), // 4500 é o valor referente à R$ 45,00 new ItemResource('item-id-002', 'Item 02', 1, 6599) // 6599 é o valor referente à R$ 65,99 ]); $orderResource->setNotificationUrls(['https://meusite.com/notificacoes1']); $orderResource->setCharges([ (new ChargeResource()) ->setReferenceId('charge-id-001') ->setDescription('descricao da cobranca') ->setAmount(new AmountResource(15599, 'BRL')) // 15599 é o valor referente à R$ 155,99 ->setPaymentMethod( (new PaymentMethodResource(PaymentMethodEnum::CREDIT_CARD)) ->setInstallments(1) ->setCard( (new CardResource()) ->setHolder(new HolderResource("Jose da Silva")) // Pode passar diretamente os dados do cartão ->setNumber('4242424242424242')->setExpMonth('12')->setExpYear('2032') // Ou pode passar o cartão criptografado pelo javascript do PagSeguro // ->setEncrypted($encryptedCard) ) ) ]); $newOrder = $clientPagSeguro->orders->create($orderResource);
或者直接传递所需结构的数组来创建一个订单
$newOrder = $clientPagSeguro->orders->create([ 'reference_id' => 'ex-00001', 'customer' => [ 'name' => 'Jose da Silva', 'email' => 'c96827089160215759351@sandbox.pagseguro.com.br', 'tax_id' => '12345678909', ], 'items' => [ [ 'reference_id' => 'item-id-001', 'name' => 'Item 01', 'quantity' => '1', 'unit_amount' => '15599', // Significa R$ 155,99 ] ], 'notification_urls' => ['https://meusite.com/notificacoes'], 'charges' => [ [ 'reference_id' => 'charge-id-001', 'description' => 'descricao da cobranca', 'amount' => [ 'value' => '15599', // Significa R$ 155,99 'currency' => 'BRL', ], 'payment_method' => [ 'type' => 'CREDIT_CARD', 'installments' => '1', 'capture' => true, 'card' => [ 'holder' => [ 'name' => "Jose da Silva", ], 'store' => false, // Pode passar diretamente os dados do cartão 'number' => '4242424242424242', 'exp_month' => '12', 'exp_year' => '2032', // Ou pode passar o cartão criptografado pelo javascript do PagSeguro //'encrypted' => $encryptedCard, ], ] ] ], ]);
更多示例
更多示例可以在 docs/examples 文件夹中找到
范围
API 列表
许可证
- MIT 许可证