如何解决如何在没有在 PHP 中打开 PayPal 页面的情况下完成 PayPal 结帐订单
我正在执行基于 PayPal Official Docs 的 PayPal 结帐订单。
顺便说一下,我需要在不重定向到 PayPal 结帐页面的情况下完成交易。
例如,调用curl -v -X POST https://api-m.sandbox.paypal.com/v2/checkout/orders \
api 后,将创建交易并且付款人必须批准它们,并且要完成订单,需要使用capture
api 进行api 调用。这是创建订单的代码:
$date = new DateTime();
$timestamp = $date->getTimestamp();
$params = [
'intent' => 'CAPTURE','purchase_units' => [
[
'amount' => [
'currency_code' => $currency,'value' => (string) $amount
],]
],'application_context' => [
'user_action' => 'PAY_NOW',],'redirect_urls' => [
'return_url' => $backUrl,'cancel_url' => $backUrl
]
];
$data = $this->encodeData($params);
$headers = $this->getAuthHeaders($data);
$res = $this->execute(self::POST,'/v2/checkout/orders',$data,$headers);
我可以得到 paymentId
和 status
,HATEOAS links
作为响应,因此可以打开 PayPal Checkout 页面并批准它们。
但我想在 PHP 后端以编程方式批准付款。但我对此没有任何想法。
根据 PayPal 文档,
要成功为订单授权付款,买家必须先批准订单或在请求中提供有效的付款来源。
也许可以通过在请求中添加 valid payment_source
来实现。但不确定那是什么以及如何实现它?尝试检查 PayPal 文档,但也找不到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。