yungouos-pay-wxapp-sdk
v1.0.4
Published
YunGouOS微信和支付宝官方个人支付SDK,集成微信/支付宝官方扫码支付、JSAPI支付、H5支付、小程序支付、APP支付、订单查询、发起退款、退款查询、分账接口;支付宝扫码支付、WAP支付、H5支付、APP支付、发起退款、退款查询接口。支付支持个人用户、个体户、企业用户申请使用,个人用户登录https://www.yungouos.com 提交资料申请开通支付权限
Downloads
1
Readme
yungouos-pay-wxapp-sdk
介绍
YunGouOS微信支付/支付宝官方合作伙伴,YunGouOS-PAY是徐州市云宝网络科技有限公司研发的支付产品。
过去我们只将支付提供给自身系统使用,我们对市面上各种第四方支付深感痛恨 我们深知一些个人用户对支付的渴望。
为此,我们开放了重量级产品,YunGouOS旗下“支付系统”正式对外开放。
我们使命是为更多开发者、个体户、个人创业者、小微企业提供正规的官方支付接口。
基于微信/支付宝官方授权的服务商模式为中小商家提供便捷的支付接入服务。
如何使用
在官网提交资料,由微信/支付宝审核,审核通过后下发商户号,对接使用。
相关地址
接口文档:https://open.pay.yungouos.com
前言
所有方法均提供了同步和异步两种调用方式,支持Promise化使用
下面以微信扫码支付举例
//同步
WxPay.nativePayAsync
//异步(将方法名结尾的Async去掉即为异步,返回的是Promise对象,按照Promise语法进行后续处理即可)
WxPay.nativePay
一、安装
方式一:NPM安装(推荐)
1、项目根目录命令行执行
npm i yungouos-pay-wxapp-sdk
2、项目中引入
//可按需导入
import {WxPay,AliPay,Finance,Merge,Order,PaySignUtil,PayBlack} from 'yungouos-pay-wxapp-sdk'
二、使用
1、微信支付
//导入微信支付对象
import {WxPay} from 'yungouos-pay-wxapp-sdk'
扫码支付(同步)
let result =await WxPay.nativePayAsync(out_trade_no, total_fee, mch_id, body, type, attach, notify_url, auto, auto_node, config_no,biz_params, payKey);
//二维码链接地址
console.log(result);
扫码支付(异步)
WxPay.nativePay(out_trade_no, total_fee, mch_id, body, type, attach, notify_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
刷卡支付(同步)
let result =await WxPay.codePayAsync(out_trade_no, total_fee, mch_id, body, auth_code, attach,receipt,notify_url, auto, auto_node, config_no,biz_params, payKey);
刷卡支付(异步)
WxPay.codePay(out_trade_no, total_fee, mch_id, body, auth_code, attach,receipt,notify_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
公众号支付/JSAPI(同步)
let result =await WxPay.jsapiPayAsync(out_trade_no, total_fee, mch_id, body, openId, attach, notify_url,return_url, auto, auto_node, config_no,biz_params, payKey);
公众号支付/JSAPI(异步)
WxPay.jsapiPay(out_trade_no, total_fee, mch_id, body, openId, attach, notify_url,return_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
收银台支付(同步)
let result =await WxPay.cashierPayAsync(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url, auto, auto_node, config_no,biz_params, payKey);
收银台支付(异步)
WxPay.cashierPay(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
个人小程序支付(直接拉起支付)
WxPay.minAppPay(out_trade_no, total_fee, mch_id, body, attach, title, notify_url, auto, auto_node, config_no, biz_params, payKey);
个人小程序支付(返回参数需要自行拉起)
let params=WxPay.minAppPayParams(out_trade_no, total_fee, mch_id, body, attach, title, notify_url, auto, auto_node, config_no, biz_params, payKey);
wx.navigateToMiniProgram({
appId: 'wxd9634afb01b983c0',//支付收银小程序的appid 固定值 不可修改
path: '/pages/pay/pay',//支付页面 固定值 不可修改
extraData: params,//携带的参数 参考API文档
success(res) {
console.log("小程序拉起成功");
}
})
小程序支付【个体户/企业】(同步)
let result = await WxPay.minAppPayBusinessAsync(out_trade_no, total_fee, mch_id, body, openId, attach, notify_url, auto, auto_node, config_no, biz_params, payKey);
let data=result.minPayParam;
if(data==null||data==''||data==undefined){
console.log("支付失败");
return;
}
let minPayParam = JSON.parse(data);
//构建支付成功方法
minPayParam.success = (response) => {
if (response.errMsg == 'requestPayment:ok') {
//支付成功
console.log("小程序支付成功");
}
}
//构建支付失败方法
minPayParam.fail = (response) => {
if (response.errMsg == 'requestPayment:fail cancel') {
//取消支付
console.log("取消支付");
}
}
//拉起小程序支付界面
wx.requestPayment(minPayParam);
小程序支付【个体户/企业】(异步)
WxPay.minAppPayBusiness(out_trade_no, total_fee, mch_id, body, openId, attach, notify_url, auto, auto_node, config_no, biz_params, payKey).then((response)=>{
//接口返回结果
if(response.code!=0||response.data==null){
console.log("支付失败");
return;
}
let result=response.data;
let data=result.minPayParam;
if(data==null||data==''||data==undefined){
console.log("支付失败");
return;
}
let minPayParam = JSON.parse(data);
//构建支付成功方法
minPayParam.success = (response) => {
if (response.errMsg == 'requestPayment:ok') {
//支付成功
console.log("小程序支付成功");
}
}
//构建支付失败方法
minPayParam.fail = (response) => {
if (response.errMsg == 'requestPayment:fail cancel') {
//取消支付
console.log("取消支付");
}
}
//拉起小程序支付界面
wx.requestPayment(minPayParam);
});
刷脸支付(同步)
let result =await WxPay.facePayAsync(out_trade_no, total_fee, mch_id, body, openId, face_code, attach, notify_url, auto, auto_node, config_no, biz_params,payKey);
刷脸支付(异步)
WxPay.facePay(out_trade_no, total_fee, mch_id, body, openId, face_code, attach, notify_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
H5支付(同步)
let result =await WxPay.wapPayAsync(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url, auto, auto_node, config_no, biz_params,payKey);
H5支付(异步)
WxPay.wapPay(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
APP支付(H5拉起)
let result =await WxPay.wapPayAsync(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url, auto, auto_node, config_no, biz_params,payKey);
let wv = plus.webview.create("", "pay-webview", {
plusrequire: "none",
'wx-app': 'none',
}
);
wv.loadURL(result,{Referer:'H5绑定的域名'});
var currentWebview = this.$scope.$getAppWebview();
currentWebview.append(wv);
wv.hide();
APP支付(同步)
let result =await WxPay.appPayAsync(app_id, out_trade_no, total_fee, mch_id, body, attach, notify_url, auto, auto_node, config_no,biz_params, payKey);
if(result==null||result==''||result==undefined){
console.log("支付失败");
return;
}
let orderInfo=JSON.parse(result);
let appPayParam={};
appPayParam.orderInfo=orderInfo;
appPayParam.provider="wxpay";
//构建支付成功方法
appPayParam.success = (response) => {
if (response.errMsg == 'requestPayment:ok') {
//支付成功
console.log("APP支付成功");
wx.showToast({
title:"支付成功",
icon:'success'
});
}
}
//构建支付失败方法
appPayParam.fail = (response) => {
if (response.errMsg == 'requestPayment:fail cancel') {
//取消支付
console.log("取消支付");
wx.showToast({
title:"取消支付"
});
}
}
//拉起微信APP支付
wx.requestPayment(appPayParam);
APP支付(异步)
WxPay.appPay(app_id, out_trade_no, total_fee, mch_id, body, attach, notify_url, auto, auto_node, config_no,biz_params, payKey).then((response)=>{
//接口返回结果
if(response.code!=0||response.data==null){
console.log("支付失败");
return;
}
let result=response.data;
if(result==null||result==''||result==undefined){
console.log("支付失败");
return;
}
let orderInfo = JSON.parse(result);
let appPayParam={};
appPayParam.orderInfo=orderInfo;
appPayParam.provider="wxpay";
//构建支付成功方法
appPayParam.success = (response) => {
if (response.errMsg == 'requestPayment:ok') {
//支付成功
console.log("支付成功");
wx.showToast({
title:"支付成功",
icon:'success'
});
}
}
//构建支付失败方法
appPayParam.fail = (response) => {
if (response.errMsg == 'requestPayment:fail cancel') {
//取消支付
console.log("取消支付");
wx.showToast({
title:"取消支付"
});
}
}
//拉起微信APP支付
wx.requestPayment(appPayParam);
});
订单退款(同步)
let result =await WxPay.refundAsync(out_trade_no, mch_id, money, refund_desc,notify_url, payKey);
订单退款(异步)
WxPay.refund(out_trade_no, mch_id, money, refund_desc,notify_url, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
查询退款结果(同步)
let result =await WxPay.getRefundResultAsync(refund_no, mch_id, payKey);
查询退款结果(异步)
WxPay.getRefundResult(refund_no, mch_id, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
下载对账单(同步)
let result =await WxPay.downloadBillAsync(mch_id, date,end_date,device_info, payKey);
下载对账单(异步)
WxPay.downloadBill(mch_id, date,end_date,device_info,payKey).then((response)=>{
//接口返回结果
console.log(response);
});
2、支付宝
//导入支付宝对象
import {AliPay} from 'yungouos-pay-wxapp-sdk'
扫码支付(同步)
let result =await AliPay.nativePayAsync(out_trade_no, total_fee, mch_id, body, type, attach, notify_url,hbfq_num,hbfq_percent,payKey);
//二维码链接地址
console.log(result);
扫码支付(异步)
AliPay.nativePay(out_trade_no, total_fee, mch_id, body, type, attach, notify_url,hbfq_num,hbfq_percent, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
wap支付(同步)
let result =await AliPay.wapPayAsync(out_trade_no, total_fee, mch_id, body, attach, notify_url,hbfq_num,hbfq_percent, payKey);
//wap支付链接地址
console.log(result);
wap支付(异步)
AliPay.wapPay(out_trade_no, total_fee, mch_id, body, attach, notify_url,hbfq_num,hbfq_percent, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
js支付(同步)
let result =await AliPay.jsPayAsync(out_trade_no, total_fee, mch_id,buyer_id,body, attach, notify_url,hbfq_num,hbfq_percent, payKey);
//支付宝JSSDK所需的参数
console.log(result);
js支付(异步)
AliPay.jsPay(out_trade_no, total_fee, mch_id,buyer_id,body, attach, notify_url,hbfq_num,hbfq_percent, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
H5支付(同步)
let result =await AliPay.h5PayAsync(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url,hbfq_num,hbfq_percent, payKey);
//H5支付表单
console.log(result);
H5支付(异步)
AliPay.h5Pay(out_trade_no, total_fee, mch_id, body, attach, notify_url, return_url,hbfq_num,hbfq_percent, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
app支付(同步)
let result =await AliPay.appPayAsync(out_trade_no, total_fee, mch_id, body, attach, notify_url,hbfq_num,hbfq_percent, payKey);
if(result==null||result==''||result==undefined){
console.log("支付失败");
return;
}
//APP支付所需的参数
let appPayParam={};
appPayParam.orderInfo=result;
appPayParam.provider="alipay";
//构建支付成功方法
appPayParam.success = (response) => {
if (response.errMsg == 'requestPayment:ok') {
//支付成功
console.log("APP支付成功");
//调用查询订单
wx.showToast({
title:"支付成功",
icon:'success'
});
}
}
//构建支付失败方法
appPayParam.fail = (response) => {
if (response.errMsg == 'requestPayment:fail cancel') {
//取消支付
console.log("取消支付");
wx.showToast({
title:"取消支付"
});
}
}
//拉起支付宝APP支付
wx.requestPayment(appPayParam);
app支付(异步)
AliPay.appPay(out_trade_no, total_fee, mch_id, body, attach, notify_url,hbfq_num,hbfq_percent, payKey).then((response)=>{
//接口返回结果
if(response.code!=0||response.data==null){
console.log("支付失败");
return;
}
let result=response.data;
if(result==null||result==''||result==undefined){
console.log("支付失败");
return;
}
let appPayParam={};
appPayParam.orderInfo=result;
appPayParam.provider="alipay";
//构建支付成功方法
appPayParam.success = (response) => {
if (response.errMsg == 'requestPayment:ok') {
//支付成功
wx.showToast({
title:"支付成功",
icon:'success'
});
}
}
//构建支付失败方法
appPayParam.fail = (response) => {
if (response.errMsg == 'requestPayment:fail cancel') {
//取消支付
console.log("取消支付");
wx.showToast({
title:"取消支付"
});
}
}
//拉起支付宝APP支付
wx.requestPayment(appPayParam);
});
发起退款(同步)
let result =await AliPay.refundAsync(out_trade_no, mch_id, money, refund_desc, payKey);
//发起退款结果
console.log(result);
发起退款(异步)
AliPay.refund(out_trade_no, mch_id, money, refund_desc, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
查询退款结果(同步)
let result =await AliPay.getRefundResultAsync(out_trade_no, mch_id, money, refund_desc, payKey);
//查询退款结果
console.log(result);
查询退款结果(异步)
AliPay.getRefundResult(out_trade_no, mch_id, money, refund_desc, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
3、支付分账
//导入转账对象
import {Finance} from 'yungouos-pay-wxapp-sdk'
微信支付配置分账账户(同步)
let result =await Finance.wxPayConfigAsync(mch_id, appId, reason,openId, receiver_mch_id, name, rate, money, payKey);
//配置分账结果
console.log(result);
微信支付配置分账账户(异步)
Finance.wxPayConfig(mch_id, appId, reason,openId, receiver_mch_id, name, rate, money, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
支付宝配置分账账户(同步)
let result =await Finance.aliPayConfigAsync(mch_id, reason,account, name, rate, money, payKey);
//配置分账结果
console.log(result);
支付宝配置分账账户(异步)
Finance.aliPayConfig(mch_id, reason,account, name, rate, money, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
生成分账账单(同步)
let result =await Finance.createBillAsync(mch_id, out_trade_no, config_no, payKey);
//生成分账账单结果
console.log(result);
生成分账账单(异步)
Finance.createBill(mch_id, out_trade_no, config_no, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
发起分账支付(同步)
let result =await Finance.sendPayAsync(mch_id, ps_no, description, payKey);
//发起分账支付结果
console.log(result);
发起分账支付(异步)
Finance.sendPay(mch_id, ps_no, description, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
查询分账支付结果(同步)
let result =await Finance.getPayResultAsync(mch_id, ps_no, payKey);
//查询分账支付结果
console.log(result);
查询分账支付结果(异步)
Finance.getPayResult(mch_id, ps_no, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
完结分账(同步)
let result =await Finance.finishAsync(mch_id, out_trade_no, payKey);
//完结分账结果
console.log(result);
完结分账(异步)
Finance.finish(mch_id, out_trade_no, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
4、转账代付
//导入转账对象
import {Finance} from 'yungouos-pay-wxapp-sdk'
转账到微信零钱(同步)
let result =await Finance.rePayWxPayAsync(merchant_id, out_trade_no, account, account_name, money, desc, mch_id,notify_url,key);
//微信转账结果
console.log(result);
转账到微信零钱(异步)
Finance.rePayWxPay(merchant_id, out_trade_no, account, account_name, money, desc, mch_id,notify_url, key).then((response)=>{
//接口返回结果
console.log(response);
});
转账到支付宝(同步)
let result =await Finance.rePayAliPayAsync(merchant_id, out_trade_no, account, account_name, money, desc, mch_id,notify_url, key);
//支付宝转账结果
console.log(result);
转账到支付宝(异步)
Finance.rePayAliPay(merchant_id, out_trade_no, account, account_name, money, desc, mch_id,notify_url, key).then((response)=>{
//接口返回结果
console.log(response);
});
转账到银行卡(同步)
let result =await Finance.rePayBankAsync(merchant_id, out_trade_no, account, account_name, money, desc,bank_type,bank_name,bank_code,mch_id,app_id,notify_url,key);
//转账到银行卡结果
console.log(result);
转账到银行卡(异步)
Finance.rePayBank(merchant_id, out_trade_no, account, account_name, money, desc,bank_type,bank_name,bank_code,mch_id,app_id,notify_url,key).then((response)=>{
//接口返回结果
console.log(response);
});
查询转账详情(同步)
let result =await Finance.getRePayInfoAsync(out_trade_no, merchant_id, key);
//转账详情
console.log(result);
查询转账详情(异步)
Finance.getRePayInfoAsync(out_trade_no, merchant_id, key).then((response)=>{
//转账详情
console.log(response);
});
5、订单查询
//导入订单对象
import {Order} from 'yungouos-pay-wxapp-sdk'
查询订单(同步)
let result =await Order.getOrderInfoAsync(out_trade_no,mch_id,payKey);
//订单查询结果
console.log(result);
查询订单(异步)
Order.getOrderInfo(out_trade_no,mch_id,payKey).then((response)=>{
//接口返回结果
console.log(response);
});
6、微信登录
//导入微信登录对象
import {WxLogin} from 'yungouos-pay-wxapp-sdk'
获取授权链接(同步)
let result =await WxLogin.getOauthUrlAsync(url,params);
//获取授权链接结果
console.log(result);
获取授权链接(异步)
WxLogin.getOauthUrl(url,params).then((response)=>{
//接口返回结果
console.log(response);
});
查询授权信息(异步)
let result =await WxLogin.getBaseOauthInfoAsync(code);
//获取授权链接结果
console.log(result);
查询授权信息(异步)
WxLogin.getBaseOauthInfo(code).then((response)=>{
//接口返回结果
console.log(response);
});
7、支付盾
//导入支付盾对象
import {PayBlack} from 'yungouos-pay-wxapp-sdk'
添加黑名单(同步)
let result =await PayBlack.createAsync(mch_id, account, reason, end_time, payKey);
//创建支付盾黑名单结果
console.log(result);
添加黑名单(异步)
PayBlack.create(mch_id, account, reason, end_time, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
验证黑名单(同步)
let result =await PayBlack.checkAsync(mch_id, account, payKey);
//是否黑名单结果
console.log(result);
验证黑名单(异步)
PayBlack.check(mch_id, account, payKey).then((response)=>{
//接口返回结果
console.log(response);
});
8、签名工具
//导入签名工具对象
import {PaySignUtil} from 'yungouos-pay-wxapp-sdk'
//参数签名
let sign=PaySignUtil.paySign(params, key);
//验证签名(对应的参数值从异步回调请求中获取)
let params={
code:code,
orderNo:orderNo,
outTradeNo:outTradeNo,
payNo:payNo,
money:money,
mchId:mchId
}
let sign="从异步回调请求中获取";
let key="支付商户号(mchId)对应的支付密钥";
let result=PaySignUtil.checkNotifySign(params,sign,key);