Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 1.62 KB

rede.md

File metadata and controls

52 lines (38 loc) · 1.62 KB

Rede

Adquirente, e a forma mais estreita da biblioteca: só cobranças. Não há recurso de cliente nem assinatura gerenciável — a transação tem um campo subscription, mas é uma flag para a adquirente, não algo que você liste ou cancele.

A particularidade é a autenticação: OAuth2 client_credentials num host separado do de API, com o caminho do token diferente em cada ambiente. E o token expira — o PHPay renegocia sozinho quando isso acontece.

use PHPay\Rede\Enums\TransactionKindEnum;
use PHPay\Rede\RedeGateway;

/* nenhuma chamada de rede aqui: o token é negociado no primeiro uso */
$gateway = new RedeGateway(REDE_PV, REDE_TOKEN);

$transacao = PHPay::gateway($gateway)->charge()
    ->setReference('pedido-1')
    ->setCard('5448280000000007', 'MARIO LUCAS', '12', '2030', '123')
    ->setPayment(2099, TransactionKindEnum::CREDIT)   // R$ 20,99
    ->setSoftDescriptor('PHPAY')
    ->create();

Fluxo em duas etapas — autoriza agora, captura quando o pedido for separado:

$phpay->setPayment(5000, capture: false)->create();

$phpay->capture($tid);
$phpay->refund($tid, 1000);   // estorna R$ 10,00

refund() é o nome que a capacidade declara, então o estorno da Rede também é alcançável pela facade, com $phpay->refund($tid).

O código de retorno "00" significa aprovada:

use PHPay\Rede\Enums\TransactionStatusEnum;

TransactionStatusEnum::approved($phpay->getStatus($tid));

Num processo longo, dá para inspecionar ou descartar o token em mãos:

$gateway->authorization()->hasValidToken();
$gateway->authorization()->forget();