【发布时间】:2017-06-21 23:29:07
【问题描述】:
我正在开发一个使用 PayPal 处理付款的自动化商品商城。
我目前执行这样的付款...
$execution = new \PayPal\Api\PaymentExecution();
$execution->setPayerId($request['PayerID']);
foreach($payment->transactions as $transaction)
{
$execution->addTransaction($transaction);
}
try
{
$result = $payment->execute($execution, $apiContext);
}
catch (\PayPal\Exception\PayPalConnectionException $ex)
{
dd($ex);
}
catch (Exception $ex)
{
dd($ex);
}
我的问题是...如何确认付款已成功执行,并且款项已输入我的 PayPal 帐户?
我假设我必须对 $result 变量做一些事情......但是什么? PayPal PHP SDK 文档示例只是使用原始 PaymentID 再次获取付款...但这并不能确认我已收到款项。
【问题讨论】:
-
为什么不 var_dump($result) 看看返回了什么?你也应该使用 IPN:developer.paypal.com/docs/classic/products/…
-
我这样做了,唯一看起来有用的是表示它已获得批准的“状态”。但是批准状态是在执行之前设置的......我使用 IPN,但物品会自动交付给用户,这就是为什么我需要能够自动确认销售是否成功。
-
根据 IPN 响应而非结帐响应 IMO 自动将商品交付给用户。
-
如果要检查是否成功,请使用
if/else。 -
可以编辑结账时的 POST 数据,只收取 0.01 美分的费用,并将该退货作为完成的付款,因此您必须检查以确保金额与产品数量也是如此。
标签: php paypal paypal-rest-sdk