Node.js+MongoDB+Express网站开发(一):使用Ping++SDK接入支付功能

前言:

        最近一直在用node开发网页,也实现了一些小功能,一直想写下来。之前的以后再写,先把刚刚实现的功能写下来,也算是一种经验总结吧!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

首先报一下开发环境:

OS:Mac OS X 10.11.1

Node: v0.12.7

MongoDB: 3.0.5

Express: 4.12.2


使用Ping++SDK接入支付功能其实不难,跟着官方文档走就行了,不过我们在开发的过程中遇到了一些坑,在这里写出来给大家做一个参考。

首先在router里写一个get来测试一下功能:

router.get('/test', function(req, res) {
    res.render('test');

});
然后render到前端的test.jade中,在页面中引入pingpp-pc.js,这个js文件可以在Ping++的github上取得。然后再写一个jQuery ajax(这里写了一个button,由button触发ajax):
$("#btn").click(function(){
                $.post('/test', function(resp){
                    var charge = resp.charge;
                    pingppPc.createPayment(charge, function (result, err) {
                        // 处理错误信息
                        alert(result);
                        alert(JSON.stringify(err));
                    });
                });
            });
在router的post里创建ping++的charge对象,此处一定要注意channel和extra的一致!之前就是因为支付宝的手机端和PC端搞混了就一直报错说是无效的charge。具体参数见Ping++的官方API文档。

create了一个charge对象后,在回调函数里将charge传到client端:

if (err) throw err;
        response.charge = charge;
        res.set('Content-Type', 'application/json');
        res.end(JSON.stringify(response));
其中 response在前面定义了: var response = {};

    这里有一点比较奇怪,就是server端传过去的是由JSON结构解析出的字符串,但是在client端得到的却是JSON结构的数据,所以可以直接使用传过来的charge对象实例了。我们之前没有用Ajax,而是直接get请求到client端,无论是直接传JSON结构还是传字符串格式(在client端再解析成JSON格式),到了pingpp那边都会报“json_decode_fail”的错误。换成Ajax来交换数据就可以了…这一点一直不理解,但请大神赐教。

    之后直接运行‘www.xxxx.com/test’后按button,一切顺利的话就可以得到如下页面了:


    

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

后记:

    第一次写这类技术性的文章,可能有些用词不太准确,技术方面也会有漏洞,也请大家多多指出,共同进步!


参考文档: 

    Ping++官方文档:https://pingxx.com/guidance

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值