paypal验证第一笔付款或initamt是经常性付款

mar*_*ark 9 paypal subscription recurring-billing

我希望我的用户能够订阅定期付款(使用快速结账api)第一笔付款需要立即向用户订阅,我需要知道他们已经成功收费才能授予他们访问权限.

有没有直接的方法来做到这一点?

我已经尝试过,使用INITAMT设置创建定期付款配置文件,但是,不清楚用户是否需要付费(使用沙箱时),并且没有返回txn_id(或等效信息)来表明结算已经完成了.我确实获得了IPN确认,但是在创建配置文件后"一段时间",这使得很难提供出色的用户体验.

我尝试添加一次性付款,使用DoExpressCheckoutPayment进行身份验证,然后设置定期付款,如果一次性付款有效,但身份验证也失败了,此时我已放弃(尽管可能仍有一些这种方法的腿).

无论如何,我想我会问这里的专家.是否有一种简单的方法来设置定期付款,每月一次付款,现在首次付款()并通过API确认第一笔付款,而无需等待一段未知的时间来收到IPN确认消息?

小智 12

这可以根据您的需要来完成,我已经测试过它并且可以正常工作.关键是您需要使用相同的快速结账流程处理标准数字商品付款以及定期付款,即用户将被要求支付一次性费用以及批准订阅.你想要设置s

  1. 按照设置付款的说明操作:https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec-basicDigGoodsPayment-curl-etc/

  2. 添加为定期付款指定的字段:https: //developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec-recurringPaymentProfile-curl-etc/

  3. 处理'DoExpressCheckoutPayment',如果成功,'CreateRecurringPaymentsProfile'的开始日期为您的第一个'续订'日期.

您现在应该同时拥有一次性付款的交易ID,以及定期付款的个人资料ID.

  • 要详细说明,只需将`L_BILLINGTYPE0 = RecurringPayments`和`L_BILLINGAGREEMENTDESCRIPTION0 = [插入您的描述]`添加到相同的`SetExpressCheckout`参数中,以便为`DoExpressCheckoutPayment` API调用做准备.然后你可以先使用相同的令牌调用`DoExpressCheckoutPayment`,然后调用`CreateRecurringPaymentsProfile`. (2认同)

mar*_*ark 1

我发现的唯一解决方案(很差)是接受最多 24 小时延迟收到第一个月订阅已计费的通知。我们现在正在研究 Google Checkout 和 Braintree Payments 作为 PayPal 的替代品,这样我们就可以摆脱它。