2

问题:有没有办法通过代码将 Payflow Transaction(任何类型)转换为 Recurring Profile?我们的计费服务要求我们:

  1. 通过 Payflow 设置交易,将信用卡信息锁定在 Paypal 的服务器中。
  2. 转换/使用该交易来制作经常性档案”
  3. 向他们发送指向它的配置文件 ID。

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

我首先更喜欢使用 Java,因为这是我迄今为止一直在使用的语言,但如果这不是一个选项,任何替代方案都将不胜感激。Payflow 为每种语言/策略提供了许多 API,这使得了解某些内容是否不受支持成为一项艰巨的任务。

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

4

1 回答 1

2

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

唯一的缺陷是,当您创建 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"
于 2012-12-08T19:20:21.780 回答