参考文档: Braintree-国外支付对接(一)

                   Braintree-国外支付对接(二)

                   Braintree-国外支付对接(三)

前面的两篇文章,有详细介绍了 Braintress 的账号创建;以及 SandBox 测试账号的 详细流程;

我们这边项目刚好 要用到 Braintree 支付; 但是需要的是 自定义的 UI  Customer UI; 项目主体 是 uniapp; (vue项目)

 

这边的服务器 使用 .net core webapi 创建的 ; 下载地址

这一步骤主要用户 生成;调用 braintress 接口所需要的鉴权,以及收款账号信息  (因为测试 原因这里面 只包含 生成签名的过程, 验证  回到地址等等 都没有)

        [HttpPost]
        public IEnumerable<BraintreeResoult> GetPayment() {

            string merchantID = "jpqyrc3sfydkrc24";
            string publicKey = "3gyg7twhh2d5tw8f";
            string privateKey = "cef338b7d0a9addfb19cb0cf26679cd7";

            BraintreeGateway braintreeGateway = new BraintreeGateway(Braintree.Environment.SANDBOX, merchantID, publicKey, privateKey);
         
            string clientTokenM = braintreeGateway.ClientToken.Generate();
       


            BraintreeResoult resoult = new BraintreeResoult();
            resoult.clientToken = clientTokenM;
            resoult.payment = "xx00xx";
            yield return resoult;
        }

 

 

客户端这边使用的是 uniapp 开发的:也就是vue做的前端;工程下载地址

 

这个页面 完全 自定义 UI;本地引入 JSSDK;(UI 仅仅测试使用,有点丑)

支付方式有两种

  • card
  • paypal

 

******

有个地方需要注意:  之前测试的时候 一直报一个错误  message: "Credit card number is not an accepted test number."

后来一直不知道 什么情况。但从字面看 应该 支付流程 是跑通了, 就是卡在 信用卡 这里;

后来在他们官网 用 官方提供的 测试 信用卡 号 果然可以 跑通流程  one of our test card numbers (e.g. 4111111111111111) or a sandbox PayPal account.

后续发现一个伤心的情况: Braintree  jsSDK 在 unipp  for  App 上无法使用;因为 JSSDK 里面大量使用 window.   类似东西

后来整理出来了 两个解决思路:

  • 原生开发两套
  • 插入一个 webview

后续会跟进这两张方式

 

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<后续|来了>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

更多推荐