joseluisald/paypal

Uma biblioteca fornece a integração com o PayPal

1.00 2023-05-25 20:58 UTC

This package is auto-updated.

Last update: 2024-05-30 01:00:16 UTC


README

Esta biblioteca fornece a integração com o PayPal

Com está biblioteca você pode facilmente salvar um cartão para pagar depois usando um token, pode fazer um Checkout

Instalação

Esta biblioteca está disponível através do composer, como você pode ver pelo seu packagist page.

composer require joseluisald/paypal

Crie as constantes com os dados da sua conta

define('API', [
    'Type' => 'Sandbox',
    'ClientId' => '---------------',
    'ClientSecret' => '----------'
]);

Instanciando a Classe Payment

Primeiramente instancie a classe passando o Tipo (Sandbox ou Live), o ClientId e o ClientSecret. Obs*. Os 3 campos são obrigatórios

require __DIR__.'/vendor/autoload.php';

use joseluisald\Payment\Payment;

$payment = new Payment(API['Type'], API['ClientId'], API['ClientSecret']);

Método para pegar o ClientID, caso necessário para usar no formulário via JavaScript

$clientToken = $payment->getToken();

Método para Salvar um cartão e ter o seu Id para um pagamento futuro

$data = '{
    "payment_source": {
        "card": {
            "number": "4111111111111111",
            "expiry": "2027-02",
            "name": "Luis",
            "billing_address": {
                "address_line_1": "Maciel",
                "address_line_2": "123",
                "admin_area_1": "RS",
                "admin_area_2": "Pelotas",
                "postal_code": "98000123",
                "country_code": "BR"
            },
            "experience_context": {
                "brand_name": "brand_name",
                "locale": "en-US",
                "return_url": "https://example.com/returnUrl",
                "cancel_url": "https://example.com/cancelUrl"
            }
        }
    }
}';

$idCard = $payment->saveCard($data);
$paymentToken = $payment->paymentToken($idCard);

$idCard = $paymentToken->id; // q5734p4c
$customeId = $paymentToken->customer->id;

Método para criar uma order usando o token do cartão salvo

'vault_id' é referente ao '$idCard'

$reference_id = uniqid() . '_' . strtotime("now") . '_' . uniqid();
$data =
'{
    "intent": "CAPTURE",
    "purchase_units": [
        {
            "reference_id": "'.$reference_id.'",
            "amount": {
                "currency_code": "USD",
                "value": "100.00"
            }
        }
    ],
    "payment_source": {
        "card": {
              "vault_id": "q5734p4c"
        }
    }
}';

$createOrder = $payment->createOrder($data);

$idPayment = $createOrder->id;
$status = $createOrder->status;