gpt4 book ai didi

php - Paypal SDK - 当仪表板在付款执行后显示 "Approved"时返回 "Completed"

转载 作者:可可西里 更新时间:2023-10-31 23:06:27 27 4
gpt4 key购买 nike

我正在使用以下代码执行用户已在 Paypal.com 上批准的付款:

// Get the order object
$order_object = new Order($_GET["orderid"]);

// Complete the payment
$payment = Payment::get($order_object->paypal_payment_id, $apiContext);

//Set the payer id
$order_object->SetPayerId($_GET["PayerID"]);

try
{
// PaymentExecution object includes information necessary
// to execute a PayPal account payment.
// The payer_id is added to the request query parameters
// when the user is redirected from paypal back to your site
$execution = new PaymentExecution();
$execution->setPayer_id($_GET["PayerID"]);

//Execute the payment
// (See bootstrap.php for more on `ApiContext`)
$finished_payment = $payment->execute($execution, $apiContext);
}
catch(PayPal\Exception\PPConnectionException $e)
{
echo "<p>PPConnectionException - Already executed payment?</p>";
}

echo "Payment state: " . $finished_payment->getState() . '<br/>';
echo "Payment ID:" . $finished_payment->getId() . '<br/>';

如果我在执行订单之前获得订单状态,它会返回 created 这很好,但是在使用此代码执行后它会返回状态 approved.

如果 approved 意味着交易已完成,这会很好,但是在开发人员仪表板上,交易显示为已完成,正如我预期的那样!

为什么代码在真正完成时会返回approved

谢谢

更新:我刚刚查看了 http://sandbox.paypal.com并以我的商家测试账户和我使用的客户测试账户登录,并且都表示交易已完成。我可以证明这一点,因为如果我尝试重新执行订单,它会返回 500 错误。这真的很令人困惑,为什么它会返回不一致的数据......

截图:

从上面的代码返回...

enter image description here

在开发者网站上查看订单... enter image description here

Approved 是否意味着Completed

最佳答案

是的,通过此处的文档,批准意味着完成:https://developer.paypal.com/webapps/developer/docs/api/#execute-an-approved-paypal-payment如果一切顺利,响应必须是“状态”:“已批准”。

关于php - Paypal SDK - 当仪表板在付款执行后显示 "Approved"时返回 "Completed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283841/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com