我正在使用PayPal的Express Checkout创建一个市场类型的结帐流程。我是否正确使用
调用Classic API SUBJECT=somebody@email.com
在SetExpressCheckout
电话中确保somebody@email.com是付款的收件人,而不是我自己?
我需要在市场上为一群卖家做这件事,这样每个人都可以直接从买家收到PayPal账户的付款。
它不在https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/的文档中,但我发现它在Google上搜索。
我是否正确地说这个?
更新1:
或者我应该使用PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID
?
更新2:
我尝试使用PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID
?它没有工作,说我没有授权。但后来我使用SUBJECT=
并且它工作正常,即使该帐户从未授予我权限。
这是正确的方法吗?我只需要人们能够向多个卖家发送付款。我不需要做任何像退款或类似事情那样的事情。
答案 0 :(得分:6)
您是否尝试在没有任何其他凭据参数的情况下传递PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID
(例如USER
,PWD
和SIGNATURE
)?这可能是你的问题。
有三种不同的方式可以为没有API权限的其他用户处理付款:
SUBJECT
。USER
,PWD
,SIGNATURE
和SUBJECT
。USER
,PWD
,SIGNATURE
和PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID
。 (请注意,它应为PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID, not PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID
。以下是警告:
PAYMENTREQUEST_0_PAYMENTACTION
设置为Sale
。答案 1 :(得分:3)
您应该使用Express Checkout并行付款的概念,而不是使用“subject”参数。在并行付款中,您将收到“PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID”下的任何人将收到付款。有了这个,您可以一次性向多达10个卖家发送付款,而不像“主题”参数,您可以一次只向一个接收者发送付款。
我已经包含了对并行付款的SETEXPRESSCHECKOUT调用请求。
NVP Request:
USER=XXXXXXXXXX&PWD=XXXXXXXXXXXX&SIGNATURE=XXXXXXX&VERSION=109.0&METHOD=SetExpressCheckout&RETURNURL=http://XXXXX/index.php?action=ECreturn&CANCELURL=http://XXXXX/index.php?action=ECcancel&LANDINGPAGE=BILLING&SOLUTIONTYPE=SOLE&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=Eshan@XXXX.pro&PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false&PAYMENTREQUEST_0_PAYMENTACTION=Order&PAYMENTREQUEST_0_PAYMENTREQUESTID=CART26488-PAYMENT0&PAYMENTREQUEST_1_CURRENCYCODE=USD&PAYMENTREQUEST_1_AMT=200&PAYMENTREQUEST_1_ITEMAMT=180&PAYMENTREQUEST_1_SHIPPINGAMT=0&PAYMENTREQUEST_1_HANDLINGAMT=0&PAYMENTREQUEST_1_TAXAMT=20&PAYMENTREQUEST_1_DESC=Summer Vacation trip&PAYMENTREQUEST_1_INSURANCEAMT=0&PAYMENTREQUEST_1_SHIPDISCAMT=0&PAYMENTREQUEST_1_SELLERPAYPALACCOUNTID=Eshan@XXXXX.com&PAYMENTREQUEST_1_INSURANCEOPTIONOFFERED=false&PAYMENTREQUEST_1_PAYMENTACTION=Order&PAYMENTREQUEST_1_PAYMENTREQUESTID=CART26488-PAYMENT1&L_PAYMENTREQUEST_0_NAME0=Depart San Jose Feb 12 at 12:10PM Arrive in Baltimore at 10:22PM&L_PAYMENTREQUEST_0_NAME1=Depart Baltimore Feb 15 at 6:13 PM Arrive in San Jose at 10:51 PM&L_PAYMENTREQUEST_0_NUMBER0=Flight 522&L_PAYMENTREQUEST_0_NUMBER1=Flight 961&L_PAYMENTREQUEST_0_QTY0=1&L_PAYMENTREQUEST_0_QTY1=1&L_PAYMENTREQUEST_0_TAXAMT0=50&L_PAYMENTREQUEST_0_TAXAMT1=50&L_PAYMENTREQUEST_0_AMT0=50&L_PAYMENTREQUEST_0_AMT1=150&L_PAYMENTREQUEST_0_DESC0=SJC Terminal 1. Flight time: 7 hours 12 minutes&L_PAYMENTREQUEST_0_DESC1=BWI Terminal 1. Flight time: 7 hours 38 minutes&L_PAYMENTREQUEST_1_NAME0=Night(s) stay at 9990 Deereco Road,Timonium, MD 21093&L_PAYMENTREQUEST_1_NUMBER0=300&L_PAYMENTREQUEST_1_QTY0=1&L_PAYMENTREQUEST_1_TAXAMT0=20&L_PAYMENTREQUEST_1_AMT0=180&L_PAYMENTREQUEST_1_DESC0=King No-Smoking; Check in after 4:00 PM; Check out by 1:00 PM
NVP Response:
TOKEN=EC-59G28135S2093963X
TIMESTAMP=2015-04-05T21:51:31Z
CORRELATIONID=419ef62debfd2
ACK=Success
VERSION=109.0
BUILD=16057073
然后您的买家会看到以下内容: