我的通话流程如下:
注意:paymentAction是单笔付款的销售和定期付款的授权
具有初始金额的CreateRecurringProfile(仅适用于定期付款)
我发现了:
资金尚未被捕获。
该个人资料还扣除了初始付款的款项。
当我试图捕获钱时,客户被扣款两次。
问题:
答案 0 :(得分:1)
听起来你对你正在做的事情有点不知所措。您不会将定期付款资料设置为"授权"。
如果结账仅用于定期付款,则无需拨打DoExpressCheckoutPayment。例如,您只需要对您运送的产品进行一次性付款,然后在此之上创建订阅,您只会拨打两个电话(DECP和CRPP)。在你的情况下,听起来你只需要CRPP。
您仍然需要致电SEC和GECD,但您只需使用CRPP即可完成。 (旁注:请确保您在SEC请求中包含了结算协议详细信息。这是许多人犯的常见错误,并且在调用CRPP时最终会出现无效的令牌错误。)
成功之道并不意味着初始金额已获批准。它只是意味着配置文件已成功创建。但是,请求中有一个参数,FAILEDINITAMTACTION,您可以使用该参数指定是否要将配置文件保留为活动状态,或者如果初始付款失败则立即暂停该配置文件。它接受以下值:ContinueOnFailure / CancelOnFailure
但是,不要让这让你感到困惑。它实际上会将配置文件状态设置为暂停,而不是取消,因此您可以在付款后重新激活它。当您构建登录系统以访问您网站的付费区域时,您可以使用GetRecurringPaymentsProfileDetails API检查配置文件的当前状态,并且仅在其处于活动状态时才允许访问。
希望有所帮助!