2013-02-08 132 views
2

我正在使用PayPal的API设置定期付款。首先,我发送以下参数SetExpressCheckoutPayPal CreateRecurringPaymentProfile错误11502 - 无效令牌

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] => [email protected] 
    [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 
) 

任何帮助非常感谢!

+0

尝试将'PROFILESTARTDATE'更新为''2013-02-22T17:27:03''(在PayPal示例中找到T)。没有运气,不出所料。 – Sam 2013-02-08 17:27:44

回答

5

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

+1

我刚刚发现这一点,不知道为什么它不在文档中。一个快速的问题..有什么办法可以启动一个定期付款,而无需用户去贝宝并使用他们的帐户? +1密切关注时间戳。 – Sam 2013-02-08 17:44:40

+0

有几个选项。 1)带有定期结算的PayPal Payments Pro。这只适用于使用信用卡的买家 - 使用PP帐户的买家仍需要批准PP网站上的定期付款。它也会让你每月大约60美元。 2)计费协议(BA)。有了买卖协议,买家必须首次到PP才能批准广管局,但他们之后不必返回贝宝网站 - 您可以根据需要向广管局收费。虽然不是自动的 - 您必须运行API调用来处理每次收费。 – 2013-02-08 17:53:05

+0

非常感谢。您可以将我链接到任何有关PayPal Payments Pro的W /重复结算的文档/资源吗?这是我原本认为你可以用循环付款做的事情,但它目前迫使我通过PayPal BA。 – Sam 2013-02-08 17:57:02