Php PayPal CreateRecurringPaymentProfile错误11502-无效令牌

Php PayPal CreateRecurringPaymentProfile错误11502-无效令牌,php,paypal,recurring-billing,Php,Paypal,Recurring Billing,我正在使用PayPal的API设置定期付款。首先,我将以下参数发送到SetExpressCheckout: Array ( [METHOD] => SetExpressCheckout [USER] => XXX [PWD] => XXX [SIGNATURE] => XXX [VERSION] => 98.0 [AMT] => 0 [MAXAMT] => 99.00 [RETURNURL]

我正在使用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
)

非常感谢您的帮助

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

尝试将
档案开始日期更新为
'2013-02-22T17:27:03'
(在PayPal示例中可以找到T)。不走运,一点也不奇怪。我确实找到了这个,不知道为什么它不在文档中。一个简单的问题..有没有什么方法可以不用用户去PayPal并使用他们的帐户来启动定期付款+1用于仔细查看时间戳。有几个选项。1) 贝宝支付专业与定期计费。这只适用于使用信用卡的买家——使用PP账户的买家仍需在PP网站上批准定期付款。它还可以让你每月花60美元。2) 计费协议(BAs)。对于BAs,买家必须在第一时间前往PP批准BA,但之后他们不必返回PayPal网站——你可以根据需要向BA收费。但不是自动的——您必须运行一个API调用来处理每个费用。非常感谢。你能把我链接到PayPal Payments Pro的任何文档/资源吗?这是我原本以为你可以做的定期付款,但它现在迫使我通过贝宝BA。我明白了。您只需通过CreateRecurringPaymentsProfile,而不用令牌。希望文档更好,这样我就不必浪费时间了。对于任何查看的人,这里有一个指向相关经典api(而不是新rest api)文档的链接。这说明在创建定期付款配置文件之前,必须将用户重定向到paypal。我也没有意识到这一点,但当我不只是略读的时候,这是非常清楚的。如果您使用的是PHP,请下载(编写器)SDK并尝试以下示例。为我工作。