minapp-fetch
Version:
63 lines (62 loc) • 2.42 kB
JavaScript
;
/*
* @Author: your name
* @Date: 2020-01-26 16:53:50
* @LastEditTime: 2020-06-06 08:56:17
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /minapp-fetch/src/fetch/pay/pay.ts
*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("./utils/utils");
const constants_1 = require("./constants/constants");
const error_1 = require("./constants/error");
//
function fetchPay(way, params) {
let { BaaS_F, minapp } = utils_1.getBaaSF();
return new Promise((resolve, reject) => {
if (constants_1.PLATFORM_NAME_BAAS.indexOf(minapp) > -1) {
if (minapp === constants_1.PLATFORM_NAME.ZX_WEB) {
let platform = '';
switch (way) {
case constants_1.PLATFORM_NAME.ZX_ALIPAY:
platform = 'payWithAlipay';
break;
case constants_1.PLATFORM_NAME.ZX_WEAPP:
platform = 'payWithWechat';
break;
case constants_1.PLATFORM_NAME.ZX_QQ:
platform = 'payWithQQ';
break;
default:
throw new Error(error_1.PAY_WAY_ERROR);
}
BaaS_F.payment[platform](params).then((res) => {
// success
resolve(res);
}, (err) => {
// HError 对象
reject(err);
});
}
if (minapp !== way) {
throw new Error(error_1.PAY_WAY_PLATFORM_ERROR + minapp);
}
BaaS_F.pay(params).then((res) => {
// success. 支付请求成功响应,可以在 res 中拿到 transaction_no 和支付结果信息
resolve(res);
}, (err) => {
// HError 对象
reject(err);
});
}
//MongoDB
if (constants_1.PLATFORM_NAME_MONGO_SERVER.indexOf(minapp) > -1) {
throw new Error(`minapp.pay ${error_1.METHOD_NOT_SUPPORT}`);
}
if (constants_1.PLATFORM_ALL.indexOf(minapp) === -1) {
throw new Error(`minapp.pay ${error_1.METHOD_NOT_SUPPORT}`);
}
});
}
exports.default = fetchPay;