对于ExpressCheckout进行定期付款的必要API调用是什么

时间:2012-10-31 11:29:13

标签: paypal paypal-adaptive-payments recurring

我的通话流程如下:

  • SetExpressCheckout
  • GetExpressCheckout
  • DoExpressCheckout

注意:paymentAction是单笔付款的销售和定期付款的授权

具有初始金额的CreateRecurringProfile(仅适用于定期付款)

我发现了:

资金尚未被捕获。

该个人资料还扣除了初始付款的款项。

当我试图捕获钱时,客户被扣款两次。

问题:

  1. 请告知我的API调用缺少什么?
  2. 对于定期付款,您认为我不需要打电话 调用CreateRecurringPaymentsProfile之前的DoExpressCheckout API API?
  3. 如果问题2为真,则调用CreateRecurringPaymentsProfile API 成功的是$ createRPProfileResponse-> Ack ==“SUCCESS”, 这是否意味着我和我保证了初始金额 可以允许访问我的服务吗?

1 个答案:

答案 0 :(得分:1)

听起来你对你正在做的事情有点不知所措。您不会将定期付款资料设置为"授权"。

如果结账仅用于定期付款,则无需拨打DoExpressCheckoutPayment。例如,您只需要对您运送的产品进行一次性付款,然后在此之上创建订阅,您只会拨打两个电话(DECP和CRPP)。在你的情况下,听起来你只需要CRPP。

您仍然需要致电SEC和GECD,但您只需使用CRPP即可完成。 (旁注:请确保您在SEC请求中包含了结算协议详细信息。这是许多人犯的常见错误,并且在调用CRPP时最终会出现无效的令牌错误。)

成功之道并不意味着初始金额已获批准。它只是意味着配置文件已成功创建。但是,请求中有一个参数,FAILEDINITAMTACTION,您可以使用该参数指定是否要将配置文件保留为活动状态,或者如果初始付款失败则立即暂停该配置文件。它接受以下值:ContinueOnFailure / CancelOnFailure

但是,不要让这让你感到困惑。它实际上会将配置文件状态设置为暂停,而不是取消,因此您可以在付款后重新激活它。

当您构建登录系统以访问您网站的付费区域时,您可以使用GetRecurringPaymentsProfileDetails API检查配置文件的当前状态,并且仅在其处于活动状态时才允许访问。

希望有所帮助!