【问题标题】:Capture paypal's Payment捕获贝宝的付款
【发布时间】:2013-12-05 22:56:51
【问题描述】:
我只是想弄清楚如何使用 php 捕获付款。
我使用 paypal DoDirectPayment - 'Authorization' 方法获得了交易 ID。
现在我被困住了,因为我找不到任何出路。
当我登录我的贝宝帐户时,我可以看到状态为“捕获”的付款。
但我想使用 PHP 捕获付款。
以下是我使用 Do direct "Authorization" 得到的响应
TIMESTAMP: 2013-11-21T12:13:41Z
CORRELATIONID: b414c9ae6cae
ACK: Success
VERSION: 65.1
BUILD: 8311702
AMT: 1.00
CURRENCYCODE: USD
AVSCODE: X
CVV2MATCH: M
TRANSACTIONID: 2AF04265L6353****
任何帮助或建议将不胜感激。
【问题讨论】:
标签:
php
paypal
payment-gateway
paypal-sandbox
【解决方案1】:
您可以使用我们的 DoCapture API 获取授权。
这个 API 的文档是可用的 here,但基本上一个请求看起来像这样:
USER=your_api_user
PWD=your_api_password
SIGNATURE=your_api_signature
METHOD=DoCapture
AUTHORIZATIONID=authorizationid_from_dodirectpayment_response
AMT=amount_goes_here
CURRENCYCODE=currency_codes_goes_here
COMPLETETYPE=complete_or_not_complete
【解决方案2】:
您可以使用 Paypal IPN(即时付款通知)。这基本上意味着您可以包含一个回调网址,该网址可用于从 Paypal 发起通知。
Paypal IPN
Paypal 将向您的 PHP 应用程序通知交易的详细信息,如果交易成功等。然后在您的脚本(在 IPN url 中定义)中,您可以处理响应。对于测试,能够将交易输出到 Apache 中的日志文件非常方便,因为您无法直接看到 Paypal 何时实际执行 IPN。
注意:Paypal 需要能够连接到您的服务器才能使其正常工作,因此如果您在开发中使用本地主机,它将无法正常工作。