0

我正在尝试使用Payflow Pro XMLPay API中的参考交易来制作经常性配置文件和一次性交易,但我很难弄清楚我应该在哪里包含 ORIGID 参数。我们希望避免在循环配置文件创建或事务创建中包含裸信用卡数据,以保持我们的PCI 范围较小 - 有效地使用参考事务代替更现代 API 中的信用卡令牌(包括新的PayPal REST API,虽然我们不能使用它,因为它会产生太多的变化)。

NVP API非常清楚地描述了基于参考事务创建事务(搜索“将现有事务转换为配置文件”):

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

相关位靠近您通过的中间位置ORIGID=XYZ123

但是我在弄清楚如何使用 XML API 传递 ORIGID 时遇到了麻烦。我尝试以多种不同的方式包含标签,例如通过如下替换招标部分(纯属猜测):

<Tender>
  <Card>
    <OrigId>XYZ123</OrigId>
  </Card>
</Tender>

但我无法绕过要求 ORIGID 或抱怨投标部分无效的错误消息。这两个 API 非常相似,感觉也应该通过 XMLPay 提供支持。也就是说,如果无法通过 XMLPay API 做到这一点,那么使用 NVP API 将不是最大的困难。

另请注意,安全令牌/透明重定向流程没有帮助,因为它不会隐藏信用卡数据。您仍然需要在创建事务调用中包含裸信用卡数据,这无助于我们缩小 PCI 范围。它似乎允许直接调用 PayPal 而不会在客户端公开您的 API 凭据,但在我们的例子中,即使托管表单也会将该服务置于 PCI 范围内。

4

1 回答 1

0

因此,据我所知,XMLPay 文档中没有记录,但幸运的是它是在ActiveMerchant 代码库中完成的。

您无需在 Tender 部分中包含信用卡数据,而是添加一个 ExtData 标记,如下所示:

<Tender>
  <Card>
    <ExtData Name='ORIGID' Value='XYZ123' />
  </Card>
</Tender>
于 2017-08-11T19:38:24.413 回答