我正在尝试在 paypal-express gem 的帮助下,通过 Paypal 的 ExpressCheckout API 在 Ruby on Rails 中设置定期付款配置文件但我不断收到错误代码 11502(无效 token )=> Paypal error code documentation
文档有点不清楚,因为它没有说缺少什么:
One or more subscription detail fields are missing from the request.
我已经检查了文档中的必填字段 here但我不认为我错过了任何。无需运输细节,因为我们不运送产品。 这是我结帐时发送到 Paypal 的日志,然后创建定期配置文件:
SetExpressCheckout
Parameters:
{:RETURNURL=>"http://localhost:3000/paypal/validate", :CANCELURL=>"http://localhost:3000/paypal/cancel", :REQCONFIRMSHIPPING=>0, :NOSHIPPING=>1, :ALLOWNOTE=>0, :PAYMENTREQUEST_0_AMT=>"88.00", :PAYMENTREQUEST_0_TAXAMT=>"0.00", :PAYMENTREQUEST_0_SHIPPINGAMT=>"0.00", :PAYMENTREQUEST_0_CURRENCYCODE=>"HKD", :PAYMENTREQUEST_0_DESC=>"Plus x 2-month subscription x 2 staff", :LOCALECODE=>:fr}
Response:
TOKEN=EC%2d0H440138VJ9552235&TIMESTAMP=2015%2d04%2d25T08%3a38%3a42Z&CORRELATIONID>=48742557da98&ACK=Success&VERSION=88%2e0&BUILD=16428450
创建经常性付款资料
参数:
{:TOKEN=>"EC-0H440138VJ9552235", :BILLINGPERIOD=>:月份, :BILLINGFREQUENCY=>2, :TOTALBILLINGCYCLES=>0, :AMT=>"88.00", :CURRENCYCODE=>"HKD", :SHIPPINGAMT=>"0.00", :TAXAMT=>"0.00", :DESC=>"加上 x 2 个月订阅 x 2 名员工", :MAXFAILEDPAYMENTS=>0, :PROFILESTARTDATE=>"2015-04-25 16:39:24"}
响应:
TIMESTAMP=2015%2d04%2d25T08%3a39%3a26Z&CORRELATIONID=533964ff183a1&ACK=Failure&VE>RSION=88%2e0&BUILD=16398710&L_ERRORCODE0=11502&L_SHORTMESSAGE0=Invalid%20Token&L_>LONGMESSAGE0=The %20token%20is%20invalid&L_SEVERITYCODE0=Error
你们有什么地方可能出错的想法吗?我可以毫无问题地执行付款,创建定期配置文件时出现问题。
最佳答案
没关系! 我发现错误的地方是误读了 gem wiki ( https://github.com/nov/paypal-express/wiki/Recurring-Payment ) 并错误地将即时付款请求与定期创建配置文件混合在一起,因此发送到 paypal 的数据中没有 billing_agreement_description 和 billing_agreements...
关于ruby-on-rails - 创建定期付款配置文件时出现 Paypal 无效 token 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29863160/