我正在开发一个非常小的电子商务软件,它允许用户发布他们的产品,以便让客户看到并购买它们。
我想提供 paypal 选项,因此致力于为它创建一个模块。
我从这个开始:
http://sanwebe.com/assets/paypal-express-checkout/
这让我开始得很好,但我的“问题”是现在接收者自动是 API 用户名?
这就是我在付款后从 paypal 收到的响应中的 RECEIVEREMAIL 参数值中看到的内容。
我希望收件人是我在数据库中收到的用户电子邮件。这样他们就可以直接将付款打入他们的帐户。
所以我需要在代码中的某处指定电子邮件/paypal 帐户电子邮件吗?
希望有人可以向我解释这是如何完成的,我可以理解在沙盒模式下这可能是不可能的 - 但有人可以澄清 API 信息是一回事而接收者是另一回事吗?
更新:我刚刚发现我可以拥有
&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=receiver@email.com
在我对 PayPal 的调用中。虽然这仍然不起作用,但它仍然显示了 dev. api用户名。
这是另一个问题,但没有得到回答:
最佳答案
您的用户需要为您的应用程序授予 API 权限才能代表他们进行 API 调用。然后,您仍然会使用自己的 API 用户名、密码和签名,但您还会包括一个 SUBJECT 参数。 SUBJECT 值将是已授予您的应用权限的用户的电子邮件地址或 PayPal 商家 ID。
用户可以通过他们的 PayPal 配置文件手动授予权限,或者您可以使用 Permissions API 将其构建到您的应用程序中。但是,如果您使用权限 API,您最终会在 header (OAuth) 中使用 token 而不是 SUBJECT 参数。
== 编辑 ==
看来这一定是在 API 版本发布之类的更新了。我刚刚在沙箱中运行了以下命令,没有出现任何问题。
[REQUESTDATA] => Array
(
[USER] => sandbo_1215254764_biz_api1.angelleye.com
[PWD] => 12xxxx74
[VERSION] => 109.0
[BUTTONSOURCE] => AngellEYE_PHPClass
[SIGNATURE] => AiKZhEExxxxxxxxz2qxKx96W18v
[METHOD] => DoExpressCheckoutPayment
[TOKEN] => EC-9SG69555XT1155150
[PAYERID] => YW66KXBKJRRES
[RETURNFMFDETAILS] => 1
[PAYMENTREQUEST_0_AMT] => 100.00
[PAYMENTREQUEST_0_CURRENCYCODE] => USD
[PAYMENTREQUEST_0_ITEMAMT] => 80.00
[PAYMENTREQUEST_0_SHIPPINGAMT] => 15.00
[PAYMENTREQUEST_0_TAXAMT] => 5.00
[PAYMENTREQUEST_0_DESC] => This is a test order.
[PAYMENTREQUEST_0_NOTETEXT] => This is a test note before ever having left the web site.
[PAYMENTREQUEST_0_PAYMENTACTION] => Sale
[PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID] => sandbo_1204199080_biz@angelleye.com
[L_PAYMENTREQUEST_0_NAME0] => Widget 123
[L_PAYMENTREQUEST_0_DESC0] => Widget 123
[L_PAYMENTREQUEST_0_AMT0] => 40.00
[L_PAYMENTREQUEST_0_NUMBER0] => 123
[L_PAYMENTREQUEST_0_QTY0] => 1
[L_PAYMENTREQUEST_0_ITEMURL0] => http://www.angelleye.com/products/123.php
[L_PAYMENTREQUEST_0_NAME1] => Widget 456
[L_PAYMENTREQUEST_0_DESC1] => Widget 456
[L_PAYMENTREQUEST_0_AMT1] => 40.00
[L_PAYMENTREQUEST_0_NUMBER1] => 456
[L_PAYMENTREQUEST_0_QTY1] => 1
[L_PAYMENTREQUEST_0_ITEMURL1] => http://www.angelleye.com/products/456.php
)
付款在 sandbo_1204199080_biz@angelleye.com 帐户中结束。只需确保您在 SetExpressCheckout 和 DoExpressCheckoutPayment 中设置了相同的值,就可以了。
关于php - PayPal 集成,我将如何定义收款人帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571758/