通过代码将Payflow事务转换为重复配置文件

时间:2012-06-12 18:36:48

标签: java paypal payflowpro

问题:有没有办法通过代码将Payflow交易(任何类型)转换为重复的配置文件?我们的结算服务要求我们:

  1. 通过Payflow设置交易,将信用卡信息锁定在Paypal的服务器中。
  2. 转换/使用该交易制作定期资料“
  3. 向他们发送指向它的个人资料ID。
  4. 我已设置代码来执行第1步和第3步,但我不知道通过代码将任何类型的Transaction对象或Transaction响应转换为此类配置文件的方法。

    我首先更喜欢使用Java,因为这是我迄今为止使用的语言,但如果这不是一个选项,任何替代方案都将受到赞赏。 Payflow为每种语言/策略都有许多API,这使得了解是否甚至不支持是一项艰巨的任务。

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

1 个答案:

答案 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"