php - PayPal 集成,我将如何定义收款人帐户?

标签 php paypal

我正在开发一个非常小的电子商务软件,它允许用户发布他们的产品,以便让客户看到并购买它们。

我想提供 paypal 选项,因此致力于为它创建一个模块。

我从这个开始:

http://sanwebe.com/assets/paypal-express-checkout/

这让我开始得很好,但我的“问题”是现在接收者自动是 API 用户名?

这就是我在付款后从 paypal 收到的响应中的 RECEIVEREMAIL 参数值中看到的内容。

我希望收件人是我在数据库中收到的用户电子邮件。这样他们就可以直接将付款打入他们的帐户。

所以我需要在代码中的某处指定电子邮件/paypal 帐户电子邮件吗?

希望有人可以向我解释这是如何完成的,我可以理解在沙盒模式下这可能是不可能的 - 但有人可以澄清 API 信息是一回事而接收者是另一回事吗?

更新:我刚刚发现我可以拥有

&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=receiver@email.com

在我对 PayPal 的调用中。虽然这仍然不起作用,但它仍然显示了 dev. api用户名。

这是另一个问题,但没有得到回答:

Doesn't the SELLERPAYPALACCOUNTID work in the sandbox?

最佳答案

您的用户需要为您的应用程序授予 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/

相关文章:

php - cellmap中找不到Frame的解决方法

php - 尝试更新 codeigniter 中的多个表时出现语法错误

php - 如何检查一名玩家是否玩过另一名玩家

PayPal CreateRecurringPaymentsProfile 无效 token

html - 如何将单件商品的数量和价格传递给 PayPal?

php - Laravel Guzzle 请求获取错误的数据库连接

Javascript!我想单击一个按钮,单击一个链接进行投票并在控制台中重新加载页面

paypal - DoExpressCheckoutPayment 之后是否发送了 IPN?

php - 获取下拉菜单

php - 如果 PayPal 包含参数,则忽略返回 url