Skip to content
赞助

PayPal 快速入门

TIP

PayPal 的实现由 GitHub Copilot 生成

在初始化完毕后,就可以直接方便的享受 yansongda/pay 带来的便利了。

Web 支付(创建订单)

php
Pay::config($config);

$order = [
    'purchase_units' => [
        [
            'amount' => [
                'currency_code' => 'USD',
                'value' => '10.00',
            ],
        ],
    ],
];

$result = Pay::paypal()->web($order);

// 获取用户授权跳转地址并重定向
$approveUrl = '';
foreach ($result->get('links', []) as $link) {
    if ('approve' === ($link['rel'] ?? '')) {
        $approveUrl = $link['href'];
        break;
    }
}

Web 支付(捕获订单)

用户在 PayPal 完成授权后,通过 token 参数拿到 order_id,再调用捕获接口完成扣款。

php
Pay::config($config);

$result = Pay::paypal()->web([
    '_action' => 'capture',
    'order_id' => $orderId, // 来自 return_url query 参数 `token`
]);

退款

php
Pay::config($config);

$result = Pay::paypal()->refund([
    'capture_id' => $captureId, // 捕获支付时返回的 capture id
    'amount' => [
        'value' => '5.00',
        'currency_code' => 'USD',
    ],
]);

查询订单

php
Pay::config($config);

$result = Pay::paypal()->query([
    'order_id' => $orderId,
]);

回调处理

php
Pay::config($config);

$result = Pay::paypal()->callback();

响应回调

php
Pay::config($config);

return Pay::paypal()->success();

Released under the MIT License.