贝宝智能结帐–多个商家ID引发错误

时间:2020-07-14 14:19:00

标签: javascript paypal

在结帐页面上,加载PayPal Javascript SDK,我提供了多个这样的商户ID(当然[my_client_id]被我的ID代替了),出于隐私原因,显示的电子邮件地址已被修改:

<script src="https://www.paypal.com/sdk/js?client-id=[my_client_id]&currency=EUR&locale=de_DE&merchant-id=*" 
data-merchant-id="lobo***@gmail.com,suic***@squar***.de,einkauf@***-games.de,paypal@***.events,***@kst***.at"></script>

然后,我为每个商人创建一个单独的Paypal Smart按钮。但是,尽管我提供了多个商家ID,但单击付款按钮后,我会收到以下错误消息:

Error: Payee(s) passed in transaction does not match expected merchant
id. Please ensure you are passing merchant-id=****55TUNG or
merchant-id=lobo***@gmail.com to the sdk url.

但是如上所示,URL中提供了商家ID 。如果我按下另一个商人的付款按钮,则会收到相同的错误消息,但错误消息中列出了该商人的ID。

PHP脚本使用createOrder传递的收款人正确地是商家的相应电子邮件地址(100%)。

这是PayPal SDK中的错误,还是我在SDK-URL中以错误的方式列出了商家ID(尽管这是PayPal在github上对其进行描述的方式)?

重要提示::如果我完全省略了SDK-URL中的商家ID,则会收到有关缺少商家ID的Javascript警告,但付款按钮可以正常工作(这使我确定PHP后端脚本可以100%正确地工作),付款正在处理中。

也很有趣:如果我在SDK-URL中省略了商户编号,PayPal将呈现四个不同的付款选项,如果我在URL中包含商户编号,那么只会显示两个(两个都显示)会抛出错误)。

所有这些都是指生产模式。

1 个答案:

答案 0 :(得分:0)

仅传递单个商家ID,并使其与您要使用的收款人相对应。

或者,对于不需要的商户类型,根本不传递任何商户ID。