在创建付款(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 ...
存在答案 0 :(得分:2)
您可以使用以下内容:
$transactions = $payment->getTransactions();
$resources = $transactions[0]->getRelatedResources();
$sale = $resources[0]->getSale();
$saleID = $sale->getId();
答案 1 :(得分:0)
数组中的related_resources,而不是对象,因此存在问题。