3

我正在使用 Paypal API (Website Payments Pro) 设置与客户的定期付款,目前正在 paypal-sandbox 中进行测试。Paypal 要求我同时设置 Express Checkout 和 Direct Payment。

快速结帐:完全适用于定期付款。我收到“成功”响应,并且可以在我的测试帐户中看到付款资料。为此,我使用 SetExpressCheckout 让用户能够访问 Paypal、登录并被重定向到我选择的页面。然后我使用“CreateRecurringPaymentsProfile”来实际创建包含所需信息的配置文件。

直接付款:我确实收到了如下所述的“成功”响应,但我在测试帐户中看不到定期付款资料。我只是在我的网站上收集信息并使用“CreateRecurringPaymentsProfile”将其发送到 Paypal。

这是我尝试创建定期付款的“成功”输出:

ACK: "Success"
AMT: "1%2e00"
AVSCODE: "X"
BUILD: "2075688"
CORRELATIONID: "bbfe83b685c0a"
CURRENCYCODE: "USD"
CVV2MATCH: "M"
TIMESTAMP: "2011%2d09%2d12T14%3a27%3a58Z"
TRANSACTIONID: "62214391KD595633B"
VERSION: "54%2e0"

我可以尝试提供任何其他细节!任何帮助表示赞赏。


编辑:感谢您迄今为止的帮助。但是,我再次收到一条成功消息,但测试帐户中没有交易证明。JSON 输出是这样的:

ACK: "Success"
BUILD: "2085867"
CORRELATIONID: "3e84486e74e80"
PROFILEID: "I%2d4Y707DELPFKD"
PROFILESTATUS: "ActiveProfile"
TIMESTAMP: "2011%2d09%2d12T20%3a13%3a15Z"
VERSION: "78%2e0"

非常感谢,

丹尼尔莫尼兹

4

1 回答 1

2

您没有看到个人资料,因为您正在调用 DoDirectPayment(仅用于一次性付款)。
如果您想针对卡(而不是 PayPal 帐户)设置定期付款,您也可以调用 CreateRecurringPaymentsProfile,但只需指定卡详细信息而不是令牌。从您显示的响应来看,您没有这样做。

See also https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_CreateRecurringPayments - "Credit Card Details fields".  

A sample call would be:  
METHOD=CreateRecurringPaymentsProfile&  
PROFILESTARTDATE=YYYY-mm-ddTH:i&  
DESC=Test&  
BILLINGPERIOD=Month&  
BILLINGFREQUENCY=12&  
AMT=0.01&  
CREDITCARDTYPE=Visa&  
ACCT=4111111111111111&  
EXPDATE=102012&  
CVV2=111  

编辑:我跟着它并得到了一个“需要开始日期”错误,在 PROFILESTARTDATE 中用日期和时间之间的 T 替换空格时得到解决,即 PROFILESTARTDATE=YYYY-mm-ddTH:i

于 2011-09-12T18:34:10.547 回答