我正在尝试将REST API SDK for PHP包含在我的项目中。因此,我试图执行给定的例子,例如“PayPal付款 - 类似于Classic API中的Express Checkout”,使用CreatePaymentUsingPayPal.php(和ExecutePayment.php)。这项工作正常,金额从买方账户中提取,交易在两个账户(买方和协助方)中列出。
但虽然交易显示为“已完成”,但金额不会发送给协调人余额。那我在这里错过了什么?我认为金额将直接发送给协调员余额!??
我已在this page上将“允许使用我不持有的货币发送给我的付款:”设置为“是,接受并将其转换为欧元”。 因此,美元和欧元未得到正确处理(金额未按协调人余额预订)。
通过以下行创建新付款(尚未更改上述SDK示例代码中的内容):
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
$payment->create($this->apiContext);
之后,成功方法包含类似的内容:
// success method; i'm using Symfony 3.3
$paymentId = $request->query->get('paymentId');
$payment = Payment::get($paymentId, $this->apiContext);
$execution = new PaymentExecution();
$execution->setPayerId($request->query->get('PayerID'));
$result = $payment->execute($execution, $this->apiContext);
付款状态现已“获批”。