PayPal 集成,我将如何定义收款人帐户?
Posted
技术标签:
【中文标题】PayPal 集成,我将如何定义收款人帐户?【英文标题】:PayPal Integration, how would I define the receiver account? 【发布时间】:2014-04-29 14:06:14 【问题描述】:我正在开发一个非常小的电子商务软件,它允许用户发布他们的产品,以便让客户看到并购买它们。
我想提供 paypal 选项,因此正在为它创建一个模块。
我是从这个开始的:
http://sanwebe.com/assets/paypal-express-checkout/
这让我开始做得很好,但我的“问题”现在是接收者自动成为 API 用户名?
这就是我在付款后从贝宝收到的响应中在 RECEIVEREMAIL 参数值中看到的内容。
我希望接收者是我在数据库中获得的用户电子邮件。这样他们就可以将付款直接存入他们的帐户。
所以我需要在代码中的某处指定电子邮件/paypal 帐户电子邮件?
希望有人可以向我解释这将如何完成,我可以理解在沙盒模式下可能无法做到这一点 - 但有人可以澄清 API 信息是一回事,而接收者是另一回事吗?
更新:我刚刚发现我可以拥有
&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=receiver@email.com
在我给 PayPal 的电话中。虽然这仍然不起作用,但它仍然显示开发。 api 用户名。
这是另一个有相同问题但没有得到回答的人:
Doesn't the SELLERPAYPALACCOUNTID work in the sandbox?
【问题讨论】:
我还尝试创建一个沙盒业务帐户(商家),然后在 SELLERPAYPALACCOUNTID= 之后添加它,然后尝试付款= 仍然在 RECEIVERMAIL 中显示 api 用户名...没有意义:( 不知道您是否可以通过快速结帐来执行此操作,因为它仅适用于拥有企业帐户的人,并且您需要一个与卖家帐户相关联的 API 密钥。您可以使用常规的 paypal 立即购买按钮或添加到购物车按钮轻松完成此操作,但我认为您不能使用快速结帐动态设置卖家。 @Bryan 谢谢,但我知道它可能吗?尝试添加到购物车并在此处选择 Paypal:vnecky.tictail.com,我唯一设置的是设置中的电子邮件。对我来说,他们似乎在使用快速结帐,然后只使用我的电子邮件作为接收者? 我们正在开发一个非常相似的项目,因此获得了赏金。我们的项目使用的是laravel,但基本思路是一样的。用户注册并创建一个带有价格的列表,输入他们的贝宝电子邮件(或其他身份验证机制,如果需要),然后收到任何订单的 100% 付款。receiver_email
试过了吗?此外,在收到 Paypal 付款的确认以及您为付款通过、被拒绝等情况提供给他们的重定向路线后,您是否不希望向客户发送个性化电子邮件?
【参考方案1】:
您的用户需要为您的应用授予 API 权限才能代表他们进行 API 调用。然后,您仍将使用您自己的 API 用户名、密码和签名,但您还需要包含一个 SUBJECT 参数以及这些参数。 SUBJECT 值是为您的应用授予权限的用户的电子邮件地址或 PayPal 商家 ID。
用户可以通过他们的 PayPal 个人资料手动授予权限,或者您可以使用 Permissions API 将其构建到您的应用中。但是,如果您使用权限 API,您最终会在标头 (OAuth) 中使用令牌,而不是 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 中设置相同的值,就可以了。
【讨论】:
为什么当我在 tictail.com 上创建我的免费商店时,我从来不需要在任何地方“接受”并让 tictail 为我的贝宝帐户授予权限?它只是收到了我的电子邮件,而我已准备好成为接收者?我错过了什么吗.. 如果您使用带有基本 html 表单的 Payments Standard 作为结帐,那就是这样。这可行,但并不理想,因为人们可以复制 HTML 代码,对其进行调整,然后以更便宜的价格购买您的产品。如果价格不准确,您可以通过在 IPN 脚本中自动退款来解决此问题,但这可能会很麻烦。 如果您查看我对这个问题的评论,并在网站上尝试购物流程,您会清楚地看到有一种方法可以在没有基本 html 表单的情况下做到这一点,而是一种真正的 api 方式哪里可能有不同的接收器? 为了让您通过 Express Checkout API 收款,必须使用您的 API 凭证发出请求,或者您必须授予 API 权限。他们本可以将此绑定到注册表单或其他内容中,这样您甚至都没有意识到它正在发生。 @Steve 抱歉,我最近没怎么待在这里。此时你到底在坚持什么?您只是想通过 Express Checkout 向第三方收款人进行未经许可的付款?【参考方案2】:你可以添加这个参数:
PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=someone@gmail.com
也可以为该接收器配置其他参数,例如:
PAYMENTREQUEST_0_CURRENCYCODE=USD
PAYMENTREQUEST_0_AMT=300
PAYMENTREQUEST_0_ITEMAMT=200
PAYMENTREQUEST_0_TAXAMT=100
PAYMENTREQUEST_0_DESC=Summer Vacation trip
PAYMENTREQUEST_0_INSURANCEAMT=0
PAYMENTREQUEST_0_SHIPDISCAMT=0
PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=someone@gmail.com
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false
PAYMENTREQUEST_0_PAYMENTACTION=Order
PAYMENTREQUEST_0_PAYMENTREQUESTID=CART26488-PAYMENT0
注意:您最多可以添加 10 个接收器,只需将索引更改为:
PAYMENTREQUEST_1_.....
PAYMENTREQUEST_2_.....
【讨论】:
谢谢@T.Todua,请问这是哪个api,你最近做过吗?以上是关于PayPal 集成,我将如何定义收款人帐户?的主要内容,如果未能解决你的问题,请参考以下文章