【发布时间】:2018-12-30 18:28:52
【问题描述】:
我正在研究 PayPal 支付 API。我没有了解完整支付方式的具体流程。一切正常,但仍然有很多错误。我和移动应用程序开发人员正在做什么。
移动 API 以金额调用服务器,以便服务器端集成了 PayPal SDK,我在其中调用 PayPal 并进行交易。
问题在于,无论付款人电子邮件是否在 Paypal 中注册,它都会返回状态 PENDING 而没有任何交易 ID。
我已经在 PayPal 上设置了一个 IPN 监听器,它会在付款状态更新时拨打电话。但它返回 transaction_id 并且在支付时我没有得到交易 ID。
我不知道我需要用它做什么。如果您不明白,请发表评论。
我正在使用简单的付款代码。
$headers = array(
'Content-Type:application/json',
'Authorization:Bearer '.$accsessToken,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payouts?sync_mode=false");
// curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$result = curl_exec($ch);
$response = json_decode($result, 1);
$payoutBatchId = $response['batch_header']['payout_batch_id'];
$headers = array(
'Content-Type:application/json',
'Authorization:Bearer '.$accsessToken,
);
unset($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payouts/".$payoutBatchId);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$response = json_decode($result, 1);
dd($response);
【问题讨论】: