【发布时间】:2018-02-04 11:28:18
【问题描述】:
(我无法发布代码/错误等,因为:“您需要至少 10 个声望才能发布 2 个以上的链接”;而且所有内容都包含很多链接;只花了几个小时详细了解发布)。
我在这里(和其他地方)读过类似的帖子,但没有帮助。
但是 PayPal 的文档有些混乱,缺少一些关键的细节,而且有些地方很神秘。显然是委员会写的。
简而言之,我有一个 PayPal 付款 ID:"id": "PAY-0J356327TH335450NK56Y2PQ",
贝宝说从我的创建支付脚本中返回这个。我不完全确定它应该如何返回:只需 echo "PAY-0J356327TH335450NK56Y2PQ"; 或返回一个 json 字符串。两个都试了,没解决。
然后是(从客户端按钮):
onAuthorize: function(data) {
return paypal.request.post(EXECUTE_PAYMENT_URL, {
paymentID: data.paymentID,
payerID: data.payerID
}).then(function() {
// The payment is complete!
// You can now show a confirmation message to the customer
});
当它调用我的执行付款脚本时,我读到它,我需要在我的脚本中使用 2 个变量(paymentID 和 payerID)。
我已经尝试了显而易见的方法:
$paymentID = $_POST["paymentID"];
$payerID = $_POST["payerID"];
不太明显(因为我假设它正在发布数据,尽管有些文档在这一点上似乎有些困惑):
$paymentID = $_GET["paymentID"];
$payerID = $_GET["payerID"];
我的最后一次尝试:
$ret = file_get_contents("php://input");
$ar = json_decode($ret, TRUE);
$paymentID = $ar["paymentID"];
$payerID = $ar["payerID"];
这些都没有任何区别。
我从 PayPal 得到的错误是:
ppxo_no_token_passed_to_payment Object ...
ppxo_unhandled_error Object ...
Error: No value passed to payment
decorate ...
我显然有一个有效的访问令牌,否则我将无法获得付款 ID。
目前被难住了;任何想法/指针表示赞赏。
这真的应该很简单。
【问题讨论】:
标签: php rest paypal server-side