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

Php 如何使用PayPal配置托管参考交易?,php,paypal,transactions,pci-compliance,Php,Paypal,Transactions,Pci Compliance,我的要求是,我需要使用托管(uk)解决方案生成一个引用事务令牌,然后可以定期调用该令牌,而用户无需再次启动事务 目前,使用经典API,我有一些类似于参考交易的功能,但是这需要用户拥有PayPal帐户-我还需要能够接受卡的详细信息(没有PayPal帐户) 接受卡详细信息的唯一方法似乎是使用托管(英国)解决方案,但我不知道如何设置。所以,我想问题是: 1) 我能允许信用卡和贝宝账户进行参考交易吗 或 2) 如何设置/配置托管解决方案?或者这仅仅是在PayPal帐户中使用没有配置的文档和iframe的

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

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

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

1) 我能允许信用卡和贝宝账户进行参考交易吗


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

对于第二个问题,是的,这很简单。请参阅和集成。

正如@DiceRamp所述,托管解决方案只是使用文档的一种情况,不需要特定于帐户的设置

回答第一个问题:-不可能将PayPal托管的API用于参考事务。相反,您必须使用按钮API来创建引用令牌。为了在不购买的情况下生成代币,您必须进一步生成一个订单,然后立即将其作废

信用在信用到期的地方,这是另一个开发者通过电子邮件为我回答的。我把他的解释写在这里,希望能帮助别人

具体流程如下:

我们使用PayPal BMCreateButton方法创建一个iframe url,BUTTONTYPE设置为“PAYMENT”,BUTTONCODE设置为“TOKEN”。然后,我们设置所有常用的订单参数(名称、地址、通知url等),然后对它们进行url编码。然后使用上面的参数集执行BMCreateButton,这将为我们提供一个在页面上呈现的iframeURL

为了生成代币,我们使用虚拟的1英镑订单

在“notify_url”上执行的代码基本上接受IPN消息,如果结果是“验证”的,那么它将“txn_id”存储为令牌


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

您的问题是什么?@TonyHensler更新以提供更明显的问题。谢谢谢谢-我现在也能解决第一个问题了,所以我很快会发布一个完整的答案。