我正在开发一种非常小的电子商务软件,允许用户放置他们的产品,以便让客户看到并购买它们。
我想提供paypal选项,因此正在为它创建一个模块。
我从这开始:
http://sanwebe.com/assets/paypal-express-checkout/
这让我开始相当不错,但我的“问题”现在是接收器自动是API用户名?
这是我在付款后从paypal获得的响应中的RECEIVEREMAIL参数值中可以看到的。
我希望接收器成为我在db中获得的用户电子邮件。这样他们就可以直接将款项存入他们的账户。
所以我需要在代码中的某处指定电子邮件/ paypal帐户电子邮件吗?
希望有人可以解释我将如何做到这一点,我可以理解在沙盒模式下可能无法做到 - 但有人可以澄清API信息是一回事而接收者是另一回事吗?
更新:我刚发现我可以
&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=receiver@email.com
在我打电话给PayPal。虽然这仍然不起作用,但它仍然显示开发。 api用户名。
这是另一个有同样问题,但没有回答:
答案 0 :(得分:4)
您的用户需要为您的应用授予API权限,以代表他们进行API调用。然后,您仍然会使用自己的API用户名,密码和签名,但是您还要包含SUBJECT参数。 SUBJECT值将是已为您的应用授予权限的用户的电子邮件地址或PayPal商家ID。
用户可以通过其PayPal个人资料手动授予权限,也可以使用权限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中设置了相同的值,你应该没问题。
答案 1 :(得分:0)
您可以添加此参数:
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_.....