【问题标题】:PayPal CreateRecurringPaymentProfile Error 11502 - Invalid TokenPayPal CreateRecurringPaymentProfile 错误 11502 - 令牌无效
【发布时间】:2013-01-24 12:48:13
【问题描述】:

我正在使用 PayPal 的 API 设置定期付款。首先我将以下参数发送到SetExpressCheckout

Array
(
    [METHOD] => SetExpressCheckout
    [USER] => XXX
    [PWD] => XXX
    [SIGNATURE] => XXX
    [VERSION] => 98.0
    [AMT] => 0
    [MAXAMT] => 99.00
    [RETURNURL] => http://google.com
    [CANCELURL] => http://google.com
    [L_BILLINGTYPE0] => RecurringPayments
    [L_BILLINGAGREEMENTDESCRIPTION0] => 99.00 per month till stopped
)

这会生成如下响应:

Array
(
    [TOKEN] => EC-90P39652RF345525U
    [TIMESTAMP] => 2013-02-08T17:09:24Z
    [ACK] => Success
    [VERSION] => 98.0
)

使用创建的计费协议中的描述和令牌,我将以下参数发送到 CreateRecurringPaymentsProfile:

Array
    (
    [METHOD] => CreateRecurringPaymentsProfile
    [USER] => XXX
    [PWD] => XXX
    [SIGNATURE] => XXX
    [TOKEN] => EC-90P39652RF345525U
    [PROFILESTARTDATE] => Feb 22 2013 17:09:24
    [DESC] => 99.00 per month till stopped
    [BILLINGPERIOD] => Month
    [BILLINGFREQUENCY] => 12
    [AMT] => 99.00
    [CURRENTCYCODE] => USD
    [CREDITCARDTYPE] => VISA
    [ACCT] => 1234123412341234
    [EXPDATE] => 012014
    [CVV2] => 123
    [EMAIL] => fake@example.com
    [STREET] => 123 Main St
    [CITY] => New York City
    [STATE] => NY
    [COUNTRYCODE] => US
    [ZIP] => 12345
)

在我看来一切都很好,但它失败了:

Array
(
    [TIMESTAMP] => 2013-02-08T17:09:24Z
    [ACK] => Failure
    [VERSION] => 98.0
    [L_ERRORCODE0] => 11502
    [L_SHORTMESSAGE0] => Invalid Token
    [L_LONGMESSAGE0] => The token is invalid
    [L_SEVERITYCODE0] => Error
)

非常感谢任何帮助!

【问题讨论】:

  • 尝试将 PROFILESTARTDATE 更新为 '2013-02-22T17:27:03'(使用 PayPal 示例中的 T)。没有运气,不足为奇。

标签: php paypal recurring-billing


【解决方案1】:

在调用 CreateRecurringPaymentsProfile 之前,您需要将买家重定向到 PayPal 以批准定期付款。您的两个 API 响应的时间戳是相同的,这告诉我您在收到来自 SetExpressCheckout 的响应后立即调用了 CreateRecurringPaymentsProfile。从 SetExpressCheckout 收到回复后,您需要将买家重定向到 PayPal。

【讨论】:

  • 我刚刚发现了这个,不知道为什么它不在文档中。一个简单的问题..有没有什么方法可以在不让用户访问 PayPal 并使用他们的帐户的情况下启动定期付款? +1 用于仔细查看时间戳。
  • 有几个选项。 1) 具有定期计费功能的 PayPal Payments Pro。这仅适用于使用信用卡的买家——使用其 PP 账户的买家仍需在 PP 网站上批准定期付款。它还会让你每月花费大约 60 美元。 2) 计费协议 (BA)。对于BA,买家必须第一次去PP批准BA,但之后他们不必再回到PayPal网站——你可以根据需要向BA收取费用。虽然不是自动的——您必须运行 API 调用来处理每笔费用。
  • 非常感谢。您能否将我链接到 PayPal Payments Pro w/Recurring Billing 的任何文档/资源?这是我最初认为您可以通过定期付款来实现的,但目前它迫使我通过 PayPal BA。
  • 我想通了。您只需要通过 CreateRecurringPaymentsProfile 并且不要使用令牌。希望文档更好,这样我就不必浪费时间了。
  • 对于任何寻找的人,这里是相关经典 api(不是新的 rest api)的链接 doc developer.paypal.com/webapps/developer/docs/classic/… 这说明您必须在创建定期付款资料之前将用户重定向到贝宝。我也没有意识到这一点,但是当我不只是略读时就很清楚了。如果您使用的是 PHP,请下载(composer)SDK 并尝试示例。为我工作。
猜你喜欢
  • 2013-01-21
  • 2013-04-09
  • 2014-12-31
  • 1970-01-01
  • 2011-11-02
  • 2013-09-29
  • 2018-07-22
  • 2011-04-22
  • 2023-03-04
相关资源
最近更新 更多