微信支付SDK for Nodejs
初始化
var Payment = Payment;var initConfig = partnerKey: "<partnerkey>" appId: "<appid>" mchId: "<mchid>" notifyUrl: "<notifyurl>" pfx: fs;var payment = initConfig;
付个钱——刷卡支付
var order = body: '吮指原味鸡 * 1' attach: '{"部位":"三角"}' out_trade_no: 'kfc' + + total_fee: 10 * 100 spbill_create_ip: reqip openid: requseropenid auth_code: '130753555491404466'; payment;
付个钱——条码支付
var order = body: '吮指原味鸡 * 1' attach: '{"部位":"三角"}' out_trade_no: 'kfc' + + total_fee: 10 * 100 spbill_create_ip: reqip openid: requseropenid trade_type: 'JSAPI'; payment;
注:
- 页面的路径需要位于
支付授权目录
下 - 由于每次呼出支付界面,无论用户是否支付成功,out_trade_no 都会失效(OUT_TRADE_NO_USED),所以这里使用timestamp保证每次的id不同。业务逻辑中应该自行维护之
前端通过
WeixinJSBridge;
来呼出微信的支付界面
接收微信付款确认请求
var middleware = middleware;app;
退个款
payment;
查询历史订单
payment;
错误处理
在回调的Error上的以name做了区分,有需要可以拿来做判断
- ProtocolError 协议错误,看看有没有必须要传的参数没传
- BusinessError 业务错误,可以从返回的data里面看看错误细节