orbitalcodes/sdk-yapay

此包的最新版本(2.0.1)没有可用的许可证信息。

2.0.1 2022-04-04 18:06 UTC

README

用于抽象与 Yapay 支付 API 通信的层。

需求

PHP >=7.3

安装

$ composer require orbitalcodes/sdk-yapay

使用

支付 Boleto

<?php

use Orbital\SDKYapay\PaymentBoletoFactory;

$params = [
    'store_code' => 1234,
    'username' => 'your_user',
    'password' => 'your_pass',
    'endpoint' => 'https://sandbox.gateway.yapay.com.br/checkout/api/v3/transacao',
    'transaction_number' => 1234,
    'transaction_value' => 1598,
    'transaction_due_date' => new \Datetime(),
    'transaction_notification_url' => 'http://notificationUrl.com',
    'items' => [
        [
            'id' => 1234,
            'name' => 'Product Name',
            'price_in_cents' => 15987,
            'quantity' => 1
        ],
        [
            'id' => 2345,
            'name' => 'Product Name',
            'price_in_cents' => 15990,
            'quantity' => 1
        ]
    ],
    'customer_id' => 1234,
    'customer_name' => 'Customer Name',
    'customer_document' => 12345678900,
    'email' => 'customer@gmail.com',
    'street' => 'Street',
    'number' => 123,
    'postal_code' => '16985152',
    'neighborhood' => 'Center',
    'city' => 'City',
    'state' => 'UF',
    'complement' => '',
    'country' => 'BR'
];

try {
  $payment = PaymentBoletoFactory::fromArray($params);
    $result = $payment->done();
} catch (\Exception $e) {
    //
}

支付信用卡

<?php

use Orbital\SDKYapay\PaymentCreditCardFactory;

$params = [
    'store_code' => 1234,
    'username' => 'your_user',
    'password' => 'your_pass',
    'endpoint' => 'https://sandbox.gateway.yapay.com.br/checkout/api/v3/transacao',
    'transaction_number' => 1234,
    'transaction_value' => 1598,
    'transaction_installments' => 5,
    'transaction_notification_url' => 'http://notificationUrl.com',
    'creditcard_name' => 'Holder Name',
    'creditcard_number' => 0000000000000000,
    'creditcard_code' => 123,
    'creditcard_month' => 10,
    'creditcard_year' => 2020,
    'items' => [
        [
            'id' => 1234,
            'name' => 'Product Name',
            'price_in_cents' => 15987,
            'quantity' => 1
        ],
        [
            'id' => 2345,
            'name' => 'Product Name',
            'price_in_cents' => 15990,
            'quantity' => 1
        ]
    ],
    'customer_id' => 1234,
    'customer_name' => 'Customer Name',
    'customer_document' => 12345678900,
    'email' => 'customer@gmail.com',
    'street' => 'Street',
    'number' => 123,
    'postal_code' => '16985152',
    'neighborhood' => 'Center',
    'city' => 'City',
    'state' => 'UF',
    'complement' => '',
    'country' => 'BR'
];

try {
    $payment = PaymentCreditCardFactory::fromArray($params);
    $result = $payment->done();
} catch (\Exception $e) {
    //
}

支付信用卡

<?php

use Orbital\SDKYapay\Transactions;

$config = [
    'store_code' => 1234,
    'username' => 'your_user',
    'password' => 'your_pass',
    'endpoint' => 'https://sandbox.gateway.yapay.com.br/checkout/api/v3/transacao'
];

try {
    $transactions = Transactions::make($config);
    $result = $transactions->findByNumber(123);
} catch (\Exception $e) {
    //
}

结果

$result->isSuccess();
$about = $result->about();
$jsonAbout = json_encode($about);

关于结果成功的信用卡的 Json

{
    "nsu": "xxxxxxx",
    "valor": 100,
    "parcelas": 1,
    "autorizacao": "xxxxxxx",
    "urlPagamento": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "mensagemVenda": "Operation Successful",
    "valorDesconto": 0,
    "numeroTransacao": 000000000000,
    "statusTransacao": 1,
    "cartoesUtilizados": [
        "000000******0000"
    ],
    "codigoFormaPagamento": 170,
    "codigoEstabelecimento": "xxxxxxxxxxxxxx",
    "dataAprovacaoOperadora": "2019-09-20 15:31:15",
    "numeroComprovanteVenda": "0920033109378",
    "codigoTransacaoOperadora": "6"
}

关于结果成功的 Boleto 的 Json

{
    "valor": 100,
    "parcelas": 1,
    "autorizacao": "0",
    "urlPagamento": "https://sandbox.gateway.yapay.com.br/checkout/GeradorBoleto.do?cod=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "valorDesconto": 0,
    "numeroTransacao": 0000000000000,
    "statusTransacao": 5,
    "codigoFormaPagamento": 29,
    "codigoEstabelecimento": "xxxxxxxxxxxxxx",
    "codigoTransacaoOperadora": "0"
}

关于结果失败的 Json

{
    "erro": {
        "codigo": "1",
        "mensagem": "Erro Interno. : Problemas ao receber transacao. Forma de Pagamento inexistente ou nao configurada para este estabelecimento, valor enviado: 17"
    },
    "statusTransacao": 0,
    "codigoEstabelecimento": "xxxxxxxxxxxxxx"
}

Payment factory fromArray 可能会抛出异常

\DomainException::class

Payment done 可能会抛出异常

Orbital\SDKYapay\Exception\YapayException::class

Transaction findByNumber 可能会抛出异常

Orbital\SDKYapay\Exception\YapayException::class

贡献

添加新功能。

许可证

SDK Yapay 是开源软件,许可协议为 MIT 许可协议