在PayPal Express Checkout中选择付款的收件人

时间:2015-04-03 05:28:35

标签: paypal express-checkout

我正在使用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=并且它工作正常,即使该帐户从未授予我权限。

这是正确的方法吗?我只需要人们能够向多个卖家发送付款。我不需要做任何像退款或类似事情那样的事情。

2 个答案:

答案 0 :(得分:6)

您是否尝试在没有任何其他凭据参数的情况下传递PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID(例如USERPWDSIGNATURE)?这可能是你的问题。

有三种不同的方式可以为没有API权限的其他用户处理付款:

  1. 单独传递SUBJECT
  2. 通过USERPWDSIGNATURESUBJECT
  3. 通过USERPWDSIGNATUREPAYMENTREQUEST_0_SELLERPAYPALACCOUNTID。 (请注意,它应为PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID, not PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID
  4. 以下是警告:

    • 选项1可以(并且在某些情况下,已经)在任何时候关闭 - 所以实际上,选项2或选项3是您的最佳选择。 (选项1对于希望为商家提供快速启用PayPal的可下载购物车来说真的是最好的。)有些人会告诉你选项3是首选的方式,但实际上,选项2和选项3都同样有效好。
    • 如果主题未授予您任何API权限,则您将仅限于销售交易 - 因此请确保将PAYMENTREQUEST_0_PAYMENTACTION设置为Sale
    • 商家帐户中有一项设置可阻止未经授权的购物车付款。如果启用此选项,则除非商家授予您API权限,否则这些方法都不会起作用。 (但是,默认情况下此选项处于关闭状态,大多数商家都不知道。)

答案 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 

然后您的买家会看到以下内容: enter image description here