如何使用PayPal配置托管参考交易?

时间:2017-01-16 14:15:14

标签: php paypal transactions pci-compliance

我的要求是我需要使用Hosted(uk)解决方案来生成引用事务令牌,然后可以定期调用该令牌而无需用户再次启动事务。

目前,使用经典API,我有类似于参考交易的工作,但这需要用户拥有PayPal帐户 - 我还需要能够接受卡详细信息(没有PayPal帐户)。

接受卡详细信息的唯一方法似乎是托管(英国)解决方案但是我不知道如何设置它。所以,我想问题是:

1)我能否允许卡和PayPal帐户进行参考交易?

2)如何设置/配置托管解决方案?或者这仅仅是使用PayPal帐户中没有配置的文档和iframe的情况?

2 个答案:

答案 0 :(得分:0)

对于你的第二个问题 - 是的,它是直截了当的。请参阅Hosted Docs并整合。

答案 1 :(得分:0)

由于@DiceyRamp已声明托管解决方案只是使用文档的情况,因此无需特定帐户设置。

要回答第一个问题: - 无法使用PayPal Hosted API进行参考交易。您必须使用Button API来创建引用令牌。为了在没有购买的情况下生成令牌,您必须更进一步,生成订单然后立即使其无效。

在信用到期的情况下,这是由另一位开发人员通过电子邮件回答的。我在这里包括他的解释,希望它能帮助别人。

Paypal button API Examples

具体过程如下:

我们使用PayPal BMCreateButton方法创建iframe网址,其中BUTTONTYPE设置为“PAYMENT”,BUTTONCODE设置为“TOKEN”。然后我们设置所有常用的订单参数(name,address,notify_url等),然后url对它们进行编码。然后我们使用上面的参数集执行BMCreateButton,这为我们提供了一个我们在页面上呈现的iframe网址。

要生成令牌,我们使用虚拟£1订单。

在“notify_url”上执行的代码基本上接受IPN消息,如果结果是'VERIFIED',则它将'txn_id'存储为令牌。

稍后可以在Paypal DoReferenceTransaction API调用中使用txn_id作为“REFERENCEID”参数。如果IPN声明订单是VOID,则notify_url代码将不存储txn_id,您不能对void进行重复,因此我们永远不会将void txn_id存储为令牌。