PayPal API 调用以进行订阅和即时付款
Posted
技术标签:
【中文标题】PayPal API 调用以进行订阅和即时付款【英文标题】:PayPal API calls to take subscription and instant payments 【发布时间】:2013-05-06 19:23:43 【问题描述】:我的企业 paypal 帐户已获批准,我想将 paypal direct payment PRO 集成到我的网站中。我发现很多贝宝 API,当然 API 也有文档记录,但不是真的。我无法真正理解每个 API 的用途。我只能理解它在文档中一般说的几句话,但我仍然必须猜测并且我不确定,所以请帮助我澄清接下来的程序:
-
当用户输入他的信用卡详细信息时,我需要使用什么 API 来验证信用卡详细信息和持有人姓名。
我需要使用什么 API 来记住用户信用卡详细信息,并将它们存储在 paypal 上,并使用一些 ID 访问它。
我需要使用什么 API 来创建每月订阅。
我需要使用什么 API 从已保存的信用卡中进行即时付款,详细信息已在第 2 点中保存。
请帮助我了解哪些 API 以及我需要如何使用它们。
我猜,我试过了:
对于 1: API:DoDirectPayment,带参数:授权 但是我确实输入了错误的持卡人姓名,以及信用卡号等真实的其他详细信息,并且贝宝返回 ACK 成功。所以这真的没有意义.. 2: API:DoCapture。 我不知道 。我想我需要将交易 ID 保存到我的数据库中,并在以后每次需要即时付款时与 DoCapture 一起使用。 3: API:创建RecurringPaymentsProfile 我不知道。我应该从哪里读取和填写付款详细信息,从我的数据库中,或者我需要再次请求用户详细信息... 4: API:DoDirectPayment,带参数:Sale 但是,我不知道该怎么做。
请不要太在意我猜测的事情,如果您知道,请告诉我处理上面列出的这 4 个步骤的正确方法,我需要使用哪些 API,如果可能的话,请告诉我一个简短的例子。
更新:
如果我使用 CreateRecurringPaymentsProfile 调用会发生什么: 'PROFILESTARTDATE' => 日期('Y-m-d\TH:i:s\Z',strtotime("+30 days")) 'TRIALBILLINGPERIOD' => '月'
【问题讨论】:
【参考方案1】:您可以使用 DoDirectPayment API 直接在您的网站上处理信用卡付款。这将是实际向买方收费的 API。此 API 不会验证卡上的名称,对此没有任何检查。您将只能验证该卡是否有效且可以收费,以及卡的安全码以及与该卡关联的账单地址。
如果您想稍后再向买家收费,而买家无需再次输入他们的详细信息,您可以使用 DoReferenceTransaction API 调用。您需要做的就是传递上一个先前成功的事务 id 的事务。因此,您需要将这些交易 ID 存储在您的系统中,以便您稍后可以将它们作为参考交易 API 调用的一部分进行引用。参考交易是默认情况下未在账户上启用的功能,您需要联系 PayPal 并在您的真实账户上启用此功能。如果您需要在您的测试帐户上启用此功能,如果您可以提供您的测试沙盒卖家帐户的电子邮件地址,我可以为您启用此功能。
如果您想创建每月定期付款资料,您可以做 2 件事中的 1 件事。您可以联系 PayPal 并在您的帐户上注册定期付款。此项服务按月收费。然后,您将使用 CreateRecurringPaymentsProfile API 调用来创建配置文件并将买家设置为每月计费配置文件。另一种选择是使用参考交易 API 并让您的系统处理经常性费用。您可以设置一个 cron 作业等每月运行并向您的买家收费。
希望这会有所帮助。
【讨论】:
你的意思是 TRANSACTIONID 或 CORRELATIONID,因为当我调用 DoDirectPayment/Authorization 时两者都会返回 您需要使用 TRANSACTIONID,CORRELATIONID 是我们内部使用的东西。如果需要,您还可以设置试用版并将开始日期设置为 30 天。以上是关于PayPal API 调用以进行订阅和即时付款的主要内容,如果未能解决你的问题,请参考以下文章
您可以通过 API 取消 PayPal 自动付款吗? (通过托管按钮创建的订阅)
如何在 PHP 中使用 IPN(即时付款通知)在 Paypal 中配置定期付款