php paypal服务器端REST集成失败

php paypal服务器端REST集成失败,php,rest,paypal,server-side,Php,Rest,Paypal,Server Side,(我无法发布代码/错误等,因为:“你需要至少10个声誉才能发布2个以上的链接”;而且所有内容都包含大量链接;只是花了几个小时在一篇详细的文章上) 我在这里(和其他地方)读过类似的帖子,但都没有帮助 我基本上是这样的: 但是贝宝的文档有点混乱,缺少一些关键的细节,有些地方很神秘。显然是由一个委员会写的 简而言之,我有一个PayPal支付id:“id:“PAY-0J356327TH335450NK56Y2PQ” PayPal说从我的创建支付脚本中返回这个。我不完全确定该如何返回:只需回显“PAY-

(我无法发布代码/错误等,因为:“你需要至少10个声誉才能发布2个以上的链接”;而且所有内容都包含大量链接;只是花了几个小时在一篇详细的文章上)

我在这里(和其他地方)读过类似的帖子,但都没有帮助

我基本上是这样的:

但是贝宝的文档有点混乱,缺少一些关键的细节,有些地方很神秘。显然是由一个委员会写的

简而言之,我有一个PayPal支付id:
“id:“PAY-0J356327TH335450NK56Y2PQ”

PayPal说从我的创建支付脚本中返回这个。我不完全确定该如何返回:只需回显“PAY-0J356327TH335450NK56Y2PQ”或返回json字符串。两个都试过了,没有解决任何问题

然后是(从客户端按钮):

在调用带有两个变量(paymentID和payerID)的执行支付脚本时,我读到了这一点,我需要在脚本中使用这两个变量

我试过显而易见的方法:

$paymentID = $_POST["paymentID"];
$payerID = $_POST["payerID"];
问题不那么明显(因为我假设它是发布数据的,尽管有些文档在这一点上似乎有点困惑):

我最后一次尝试:

$ret = file_get_contents("php://input");
$ar = json_decode($ret, TRUE);
$paymentID = $ar["paymentID"];
$payerID = $ar["payerID"];
所有这些都没有任何区别

我从贝宝那里得到的错误是:

ppxo_no_token_passed_to_payment Object ...
ppxo_unhandled_error Object ...

Error: No value passed to payment
decorate ...
很明显,我有一个有效的访问令牌,否则我就无法获得支付id

目前处于困境;任何想法/建议都将受到欢迎


这应该很简单。

我收到了相同的错误消息

对我来说,它发生在javascript代码收到来自我的CREATE\u PAYMENT\u URL ajax请求的响应时

我从服务器发回的响应不是有效的JSON,因此在执行onAuthorize data.paymentID和data.payerID时不可用

我建议在onAuthorize中的return语句上方使用console.log(data),以确保数据json对象具有paymentId和payerId

如果不是,则可能是您的previoius CREATE_PAYMENT_URL没有返回付款id

响应应该是json。例如,有效的创建付款响应:

{“id”:“PAY-5T1130394T551090NLGRLACY”}

希望有帮助。

特别声明:{“paymentID”:“PAY-0J3…”。将它更改为您的{“id:”…“},它工作到调用我的执行脚本的程度,然后它再次倒下。我要再摆弄一下。(我只花了4个小时在我的服务器上手动安装PayPal的SDK,让整个支付流程从头到尾都能正常工作;相比之下,4天以上的时间仍然无法正常工作)。
$ret = file_get_contents("php://input");
$ar = json_decode($ret, TRUE);
$paymentID = $ar["paymentID"];
$payerID = $ar["payerID"];
ppxo_no_token_passed_to_payment Object ...
ppxo_unhandled_error Object ...

Error: No value passed to payment
decorate ...