ionic 用 cordova插件,ping++方式 实现支付宝,微信支付

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ganggelove/article/details/50821101

网上有类似的ionic ping++ 的例子,不过不太详细,我是用.net 做的服务端接口,难道我们的net 要落伍了么?

例子参考链接: http://my.oschina.net/u/1416844/blog/509194?fromerr=g9I3wDAd

ping++交易流程说明:https://www.pingxx.com/guidance/products/sdk

ionic 实现 cordova 插件:https://github.com/TongChia/cordova-plugin-pingpp

ping++ event 事件API : https://www.pingxx.com/document/api#api-event-type

这里写图片描述

看来以后可能会收费的。准备先接入。

根据例子 配置好服务端方法
下载ping++ 官方sdk https://www.pingxx.com/dlsdk
接入示例 https://www.pingxx.com/guidance/server/import

流程:

    /// <summary>
    /// 点击确认支付
    /// 
    ///1.应用需要有选择渠道付款的页面,用户选择渠道发起付款请求时,客户端传递订单信息到应用服务器。
    ///2.服务器接收订单信息后,调用 Ping++ Server SDK 发起支付请求。
    ///3.请求完成后会获得 Ping++ 返回的 Charge 对象,由于这里的 Charge 对象用于客户端调起支付控件,所以我们称之为支付凭据。
    ///4.服务器获得支付凭据后,将支付凭据返回给客户端,返回类型必须是 JSON 格式。
    ///5.客户端接收到服务器返回的 JSON 格式的支付凭据后,使用 Client SDK 调用支付控件完成支付,用户在控件中完成付款。
    ///6.在用户付完款后,Client SDK 会把支付结果返回给调用页面,客户端根据返回结果提示用户支付结果。
    ///7.与此同时,Ping++ 会主动以 POST 方式给你配置在管理平台上的 Webhooks 通知地址发送支付结果。支付结果是 Event 对象,我们称之为 Webhooks 通知,订单状态需要以 Webhooks 通知为准。
    /// </summary>
    /// <returns></returns>

在这儿卡了老长时间 因为老是报错 ‘fail’.原因是charge 格式不对
需要在 管理中心–联调工具 里面调试 你的服务接口返回的是否是 charge 对象
这里写图片描述

我之前用的是

JsonResult

返回是

return Json(new { result = 0 }, JsonRequestBehavior.AllowGet);

虽然是 json数据 ,但是返回来的数据中 子元素却是大写字母开头

这里写图片描述

后来改成 response ,并且设置content-type

这里写图片描述

服务端的坑 填好了

之前 还有 客户端的坑,我用的是github 上的插件。发现好多都是把 私钥放到客户端,唉。。。各有各的弊端吧

因为我用了 微信分享插件,所以插件有冲突。解决方法:http://blog.csdn.net/ganggelove/article/details/50808974
一定要按照 这个顺序,否则libammsdk.jar 会冲突。
这是客户端的坑 填好了。
下面是 运行效果
这里写图片描述

但是, 新的坑又出现了

这里写图片描述

正在找解决方案。至少,成功了好多了。。。。。。

ok 解决了,归根结底还是秘钥不对
支付宝公钥,商户私钥 生成步骤,以及填写说明
https://dashboard.pingxx.com/channel/guide/2

openssl 工具下载
https://dashboard.pingxx.com/download/openssl.zip

这里有一个坑
更改支付宝的公钥时,如果你登陆超时,会报错。这时候你在重新登陆一下就好了。
这里写图片描述

注意不能有回车和空格,我是考到editPlus++ 里面,合并行。
ok
这里写图片描述
欢迎指教
欢迎加群讨论:416216249

没有更多推荐了,返回首页