Paypal rest api - 执行后如何获取返回事务id

时间:2014-07-10 17:37:44

标签: rest paypal

在创建付款(POST / v1 /付款/付款)并执行付款后,我使用Paypal rest api和sdk构建我的购物车(POST / v1 / payments / payment / {paymentId} / execute),我试图解码返回的Payment对象以检索事务ID。

我已经var_dump返回对象并得到类似的东西(这里只是部分返回..):

object(PayPal\Api\Payment)#137 (1) { ["_propMap":"PayPal\Common\PPModel":private]=> array(8) { ["id"]=> string(28) "PAY-2xxxxxxxxxxxxxxx" .... ["transactions"]=> array(1)  ...["related_resources"]=> array(1) 

存在事务和相关资源,当我尝试获取对象值时:

$result = $payment->execute($paymentExecute, getApiContext()); 

echo $result->getTransactions()->getRelatedResources()->getSale()->getId();

它说:

 Fatal error: Call to a member function getRelatedResources() on a non-object

我的语法是错误的吗?事务ID根据var_dump recoard ...

存在

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

$transactions = $payment->getTransactions();
$resources = $transactions[0]->getRelatedResources();

$sale = $resources[0]->getSale();
$saleID = $sale->getId();

答案 1 :(得分:0)

数组中的related_resources,而不是对象,因此存在问题。