问题:有没有办法通过代码将Payflow交易(任何类型)转换为重复的配置文件?我们的结算服务要求我们:
我已设置代码来执行第1步和第3步,但我不知道通过代码将任何类型的Transaction对象或Transaction响应转换为此类配置文件的方法。
我首先更喜欢使用Java,因为这是我迄今为止使用的语言,但如果这不是一个选项,任何替代方案都将受到赞赏。 Payflow为每种语言/策略都有许多API,这使得了解是否甚至不支持是一项艰巨的任务。
如果有人需要有关我任务的更多信息,我很乐意提供。提前谢谢。
答案 0 :(得分:2)
我不知道它是否仍然是最新的。但是,它是可能的,但它仅限于销售或延迟捕获交易(如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"