PHP code example of dalpras / payment-paypal

1. Go to this page and download the library: Download dalpras/payment-paypal library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

dalpras / payment-paypal example snippets


use DalPraS\Payment\PayPal\Config\PayPalConfig;
use DalPraS\Payment\PayPal\Http\PayPalHttpClient;
use DalPraS\Payment\PayPal\Mapper\PayPalOrderMapper;
use DalPraS\Payment\PayPal\Provider\PayPalProvider;

$config = new PayPalConfig(
    clientId: 'sandbox-client-id',
    clientSecret: 'sandbox-client-secret',
    sandbox: true,
    webhookId: null,
    brandName: 'My Store',
);

$httpClient = new PayPalHttpClient(
    config: $config,
    httpClient: $psr18Client,
    requestFactory: $requestFactory,
    streamFactory: $streamFactory,
);

$provider = new PayPalProvider(
    config: $config,
    httpClient: $httpClient,
    mapper: new PayPalOrderMapper(),
);

[
    'provider' => 'paypal',
    'provider_payment_id' => $paypalOrderId,
    'order_id' => $paypalOrderId,
    'paypal_order_id' => $paypalOrderId,
]

[
    'provider' => 'paypal',
    'provider_payment_id' => $paypalOrderId,
    'order_id' => $paypalOrderId,
    'paypal_order_id' => $paypalOrderId,
    'capture_id' => $captureId,
    'paypal_capture_id' => $captureId,
    'authorization_id' => $authorizationId,
    'paypal_authorization_id' => $authorizationId,
]

$result = $paymentManager->refund(new RefundRequest(
    providerCode: 'paypal',
    paymentReference: $paymentReference,
    providerPaymentId: null,
    idempotencyKey: $refundId,
    metadata: [
        'description' => 'Customer refund',
    ],
));

$result = $paymentManager->refund(new RefundRequest(
    providerCode: 'paypal',
    paymentReference: $paymentReference,
    providerPaymentId: null,
    idempotencyKey: $refundId,
    metadata: [
        'amount_decimal' => '50.00',
        'currency' => 'EUR',
        'description' => 'Partial refund',
    ],
));

$result = $paymentManager->capture(new CaptureRequest(
    providerCode: 'paypal',
    paymentReference: $paymentReference,
    providerPaymentId: null,
    idempotencyKey: $captureId,
    metadata: [
        'amount_decimal' => '50.00',
        'currency' => 'EUR',
        'description' => 'Capture authorized amount',
        'final_capture' => true,
    ],
));

$result = $paymentManager->cancel(new CancelRequest(
    providerCode: 'paypal',
    paymentReference: $paymentReference,
    providerPaymentId: null,
    idempotencyKey: $voidId,
    metadata: [
        'description' => 'Customer cancelled before capture',
    ],
));