我正在尝试使用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 范围内。