用于定期订阅的 Dodirectpayment api

Posted

技术标签:

【中文标题】用于定期订阅的 Dodirectpayment api【英文标题】:Dodirectpayment api for recurring subscription 【发布时间】:2014-08-13 11:11:30 【问题描述】:

这是我要触发的网址 => https://api-3t.sandbox.paypal.com/nvp?&METHOD=CreateRecurringPaymentsProfile&USER=xxxxxxxxxx&PWD=xxxxxxxxx&SIGNATURE=xxxxxxxxxxxxxxx&VERSION=85.0&PAYMENTACTION=Sale&IPADDRESS=203.196.159.36&CREDITCARDTYPE=Discover&ACCT=6011746396125231&EXPDATE=062015&CVV2=456&FIRSTNAME=Tester&LASTNAME=Testerson&STREET=707+W.+Bay+Drive&CITY=Largo&STATE=FL&COUNTRYCODE=US&ZIP=33770&AMT=100.00&CURRENCYCODE=USD&DESC=Testing+recur+Payments+Pro&PROFILESTARTDATE=2014-06-23T17%3A19%3A04%2B05%3A30&BILLINGPERIOD=Day&BILLINGFREQUENCY=1

使用这个 api 我正在创建循环订阅,以及返回的响应 => 数组 ( [PROFILEID] => I-6X6FYA15LASE [PROFILESTATUS] => ActiveProfile [时间戳] => 2014-06-23T11:49:13Z [相关 ID] => ce1cf95f1e6e6 [ACK] => 成功 [版本] => 85.0 [构建] => 11457922 ), 我没有得到 transactionid ,我想知道如何从响应中获取 transaction id ,以及如何使用这个 api 定义或传递通知 url,请帮助我,我会很感激你。

【问题讨论】:

下面的答案是正确的。请注意,如果您不收取初始金额,即使该卡无法使用,Paypal 也会为您创建个人资料。因此,在进行第一次定期付款尝试之前,您不会发现卡号错误,这可能是事发后一个月。因此,始终按初始金额计费是有意义的 - 如果失败,您仍然必须手动取消定期付款资料。此外,如果失败,您将不会获得有关初始付款的非常详细的信息。如果有效,您将获得一个交易 ID,如果无效,您将获得一个交易 ID。 【参考方案1】:

定期付款必须使用在https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify 下配置的默认 IPN URL

根据https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/CreateRecurringPaymentsProfile_API_Operation_NVP/ 下的文档,您可以传递一个“INITAMT”变量,以便在创建配置文件时向买家收费 - 这将产生一个 txn id。

ID I-6X6FYA15LASE 基本上是定期付款配置文件 ID(存储账单的频率和条款),基于配置文件 ID 中的信息,PayPal 将自动在您和买家之间创建交易。

【讨论】:

以上是关于用于定期订阅的 Dodirectpayment api的主要内容,如果未能解决你的问题,请参考以下文章

用于定期付款的 PayPal IPN

IPN 通知不适用于定期付款

Authorize.Net 查询定期计费

PayPal IPN HTML 代码,用于使用不同的首次付款进行定期付款

Authorize.Net 定期计费事件

使用 Recurly 快速测试定期/订阅计费