【问题标题】:Paypal with Braintree saying "Merchant account not found"贝宝与 Braintree 说“找不到商家帐户”
【发布时间】:2017-06-05 02:05:26
【问题描述】:

我尝试使用 Braintree 和关注 this tutorial 集成 PayPal。我最终得到一个错误:Merchant account not found - screenshot。

我正在使用 Swift 3 和 Xcode 8.1。

here is my viewDidLoad

这些都是我的应用程序中必需的更新:

ScreenShot 1

ScreenShot 2

ScreenShot 3

ScreenShot 4

ScreenShot 5

任何帮助将不胜感激!

【问题讨论】:

  • 完全披露:我在 Braintree 工作。merchant account not found 错误通常意味着您错误地引用了您的商家帐户 ID (articles.braintreepayments.com/control-panel/…),但这可能也意味着您的 Braintree 帐户存在 PayPal 设置问题。您能否通过 support@braintreepayments.com 联系 Braintree 支持团队并参考这个问题?一旦他们查看了您的帐户,他们就能分辨出是哪一个。
  • 我试图在我的编辑中简化问题,但请以文本格式而不是屏幕截图发布您的代码。

标签: paypal swift3 braintree


【解决方案1】:

这个错误也可能是由一个容易错过但很容易修复的问题引起的。

要初始化您的客户端,您需要在服务器上生成一个客户端令牌。生成此信息时,您可以选择传入 商家帐户 ID - 例如在 Java 中:

ClientTokenRequest clientTokenRequest = new ClientTokenRequest()
                                              .customerId(aCustomerId)
                                              .merchantAccountId(anAccountId);
String clientToken = gateway.clientToken().generate(clientTokenRequest);

商家 ID 和 商家帐户 ID 之间存在细微但重要的区别:

来自Braintree Control Panel reference:

您的商家 ID 是您整个网关帐户的唯一标识符,也是四个 API 凭据之一。某些操作需要此值,例如将 API 调用连接到 Braintree 网关或设置第三方购物车。

您的商家帐户 ID 是您网关中特定商家帐户的唯一标识符。它用于指定在创建交易、创建订阅、验证支付方式或生成客户端令牌时使用哪个商家帐户。

在创建客户端令牌时提供错误的商家帐户 ID 不会产生错误,除非您尝试执行某些操作,例如,使用 paypal 保险库流程发出付款方式请求,在在这种情况下,您的客户将收到“422 Unprocessable entity”响应 “未找到商家帐户”错误消息。

【讨论】:

    【解决方案2】:

    在我的情况下,这是我的沙盒帐户的问题,我通过与 Braintree 支持人员沟通解决了同样的问题。

    ME:我已经设置了一个 Braintree 沙盒帐户来测试 PayPal 付款。用户 ID 是 xxx@zzz.com 我可以使用此帐户正确测试托管字段,但是当我尝试将相同的客户端用于 PayPal 时,我发现没有找到商家帐户。如果我缺少任何配置,您能帮我吗?

    Braintree 支持:您的 Sandbox 商家帐户未启用 PayPal,这可以解释您所看到的错误。我添加了 PayPal 作为您的默认商家帐户 (MobikonDefault) 的处理器。 请再试一次,如果问题再次出现,我需要您提供您的 ClientToken API 调用以及您重现问题的确切时间(包括时区)。

    ME:谢谢,这很有效。虽然我想知道我是否可以自己做这个配置。我没有找到任何途径。

    Braintree 支持:感谢您与我们联系。 目前,无法从商家方面进行设置 - 这是我们必须设置的后端(猫王为您设置的)的直接配置。

    【讨论】:

      【解决方案3】:

      PayPal 与 Braintree 对我不起作用,就像我一次又一次地收到此消息一样。

      “未找到商家帐户”

      所以,我决定集成PayPal ios SDK,并设法将未来支付自己集成到应用程序中(不使用后端服务器)。在 PayPal 开发人员支持的帮助下,这一切都完美无缺。

      【讨论】:

      • 但现在,它已被弃用!
      【解决方案4】:

      我认为您需要关联一个 PayPal 帐户(沙盒或生产)。转到处理-> 付款方式并启用 PayPal。之后转到 PP 开关下的选项。从那里您需要输入 PayPal 沙盒凭据

      【讨论】:

        猜你喜欢
        • 2014-05-21
        • 2017-08-01
        • 1970-01-01
        • 2016-08-24
        • 2016-06-18
        • 2015-04-06
        • 2018-01-13
        • 1970-01-01
        • 2017-10-18
        相关资源
        最近更新 更多