问题:是否可以通过代码将Payflow交易(任何类型)转换为重复配置文件?我们的计费服务希望我们:


通过Payflow设置交易,以将信用卡信息锁定在Paypal的服务器中。
转换/使用该交易以创建定期配置文件”
向他们发送指向它的个人资料ID。


我已经设置了执行步骤1和步骤3的代码,但我不知道通过代码将任何类型的Transaction对象或Transaction响应转换为此类配置文件的方式。

我首先喜欢使用Java,因为到目前为止我一直在使用Java,但是如果这不是一种选择,那么可以选择任何替代方法。 Payflow针对每种语言/策略提供了许多API,这使得了解甚至不支持的内容成为一项艰巨的任务。

如果有人需要有关我的任务的更多信息,我将很乐意提供。提前致谢。

最佳答案

我不知道它是否仍然是最新的。但是可以,但可以,但仅限于“销售”或“延迟捕获”交易(如《 Payflow Pro定期计费服务用户指南https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_PayflowPro_RecurringBilling_Guide.pdf》所述)。我实现了此Sale交易并可以证明它有效。

创建RecurringAddTransaction时将陷阱设置为null的唯一陷阱(因为您没有信用卡信息,并且如果将其设置,则会收到无效的信用卡号错误消息):

RecurringAddTransaction trans =
    new RecurringAddTransaction(userInfo, connection, invoice, null, recurringInfo, requestId);


然后使用setExtData方法添加TENDER参数(否则,您将收到Invalid Tender错误消息):

trans.setExtData(new ExtendData("TENDER", PayflowConstants.TENDERTYPE_CARD));


如果您检查请求,则它看起来像这样:

"TRXTYPE=R&TENDER=C&PARTNER=PayPal&VENDOR=Acme&USER=Acme&PWD=a1b2c3d4&ACTIO
N=A&PROFILENAME=RegularSubscription&ORIGID=XYZ123&START=12012002&PAYPERIOD=
WEEK&TERM=12&OPTIONALTRX=S&OPTIONALTRXAMT=2.00&COMMENT1=First-time
customer&AMT=42.00"

10-08 00:00