Commit 187cc156 authored by jiangjiantao's avatar jiangjiantao

支付页面和支付结果页面

支付页面和支付结果页面
parent d435cd0a
......@@ -10,5 +10,7 @@ App({
userInfo: null,
version: "1.0.6.20200310",
BASE_URL: "https://hhms.miyapay.com/",
localAccountInfo:null,
useTestPayInfo:true
}
})
\ No newline at end of file
{
"pages": [
"pages/login/login",
"pages/pay_result/pay_result",
"pages/logs/logs",
"pages/functioncenter/functioncenter",
"pages/refund/refund",
"pages/login/login",
"pages/balance/balance",
"pages/operation_waiting/operation_waiting",
"pages/home/home",
"pages/index/index",
"pages/logs/logs"
"pages/index/index"
],
"window": {
"navigationStyle": "custom",
......
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 17);
/******/ })
/************************************************************************/
/******/ ({
/***/ 17:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Component({
options: {
multipleSlots: true,
// 在组件定义时的选项中启用多slot支持
addGlobalClass: true
},
properties: {
closabled: {
// 是否具有关闭标签
type: Boolean,
value: true
},
title: {
// 标题,也可以通过 slot 自定义
type: String,
value: ''
},
subTitle: {
// 副标题,也可以通过 slot 自定义
type: String,
value: ''
},
extClass: {
// 弹窗 class
type: String,
value: ''
},
desc: {
type: String,
value: ''
},
tips: {
type: String,
value: ''
},
maskClosable: {
type: Boolean,
value: true
},
mask: {
// 是否需要 遮罩层
type: Boolean,
value: true
},
show: {
// 是否开启弹窗
type: Boolean,
value: false,
observer: '_showChange'
},
buttons: {
type: Array,
value: [] // {text, extClass}
}
},
lifetimes: {
attached() {
console.log('hellow ')
}
},
methods: {
close(e) {
const {
type
} = e.currentTarget.dataset;
if (this.data.maskClosable || type === 'close') {
this.setData({
show: false
}); // 关闭弹窗回调事件
this.triggerEvent('close');
}
},
buttonTap(e) {
const {
index
} = e.currentTarget.dataset;
this.triggerEvent('buttontap', {
index,
item: this.data.buttons[index]
}, {});
},
onMaskMouseMove(e) {// do nothing
}
}
});
/***/ })
/******/ });
\ No newline at end of file
{
"component": true,
"usingComponents": {}
}
\ No newline at end of file
<view class="{{show ? 'weui-show' :'weui-hidden'}}">
<view class="weui-mask init" wx:if="{{mask}}" bindtap="close" catch:touchmove="onMaskMouseMove" data-type="tap"></view>
<view class="weui-half-screen-dialog {{extClass}}">
<view class="weui-half-screen-dialog__hd">
<view wx:if="{{closabled}}" class="weui-half-screen-dialog__hd__side_self" bindtap="close" data-type="close">
<view class="weui-icon-btn weui-icon-btn_close" hover-class="weui-active">关闭</view>
</view>
<view wx:if="{{false}}" class="weui-half-screen-dialog__hd__main">
<block wx:if="{{title}}">
<text class="weui-half-screen-dialog__title">{{title}}</text>
<text class="weui-half-screen-dialog__subtitle">{{subTitle}}</text>
</block>
<block wx:else>
<view class="weui-half-screen-dialog__title"><slot name="title"></slot></view>
</block>
</view>
<view class="weui-half-screen-dialog__hd__side">
<view class="weui-icon-btn weui-icon-btn_more" hover-class="weui-active">更多</view>
</view>
</view>
<view class="weui-half-screen-dialog__bd">
<block wx:if="{{title}}">
<view class="weui-half-screen-dialog__desc_self">{{desc}}</view>
<view class="weui-half-screen-dialog__tips_self">{{tips}}</view>
</block>
<slot name="desc" wx:else></slot>
</view>
<view class="sacn-pay-guide">
</view>
<view class="weui-half-screen-dialog__ft">
<block wx:if="{{buttons && buttons.length}}">
<button
wx:for="{{buttons}}"
wx:key="index"
type="{{item.type}}"
class="weui-btn {{item.className}}"
data-index="{{index}}"
bindtap="buttonTap"
>{{item.text}}</button>
</block>
<slot name="footer" wx:else></slot>
</view>
</view>
</view>
\ No newline at end of file
.weui-mask,
.weui-half-screen-dialog {
transition: all .3s
}
.weui-hidden .weui-mask {
visibility: hidden;
opacity: 0
}
.weui-hidden .weui-half-screen-dialog {
transform: translateY(100%)
}
.weui-show .weui-mask {
opacity: 1;
visibility: visible
}
.weui-show .weui-half-screen-dialog {
transform: translateY(0%)
}
.weui-half-screen-dialog__hd__side_self {
position: relative;
left: 95%;
}
.weui-half-screen-dialog__desc_self {
font-size: 20px;
font-weight: 700;
color: var(--weui-FG-0);
line-height: 1.4;
align-self: center;
text-align: center;
}
.weui-half-screen-dialog__tips_self {
padding-top: 16px;
font-size: 14px;
color: red;
line-height: 1.4;
text-align: center;
}
.sacn-pay-guide{
width: 633px;
height: 581px;
background-size: 50% 50%;
background-repeat: no-repeat;
background-image: url(data:image/png;base64,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);
}
\ No newline at end of file
// pages/balance/balance.js
var miyapay = require("../../utils/miyapay4.js");
Page({
/**
* 页面的初始数据
*/
data: {
payPriceYuan:"0.01"
payPriceYuan:"0.01",
show: false,
scanPayError:"",
saasid: "",
marketId: "",
posId: "",
cashierCode: "",
baseUrl: null,
signKey: "",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.initData();
},
/**
* 生命周期函数--监听页面初次渲染完成
* 初始化数据
*/
onReady: function () {
initData(){
this.data.baseUrl = getApp().globalData.BASE_URL;
var localAccountInfo = getApp().globalData.localAccountInfo;
console.info("localAccountInfo==>" + JSON.stringify(localAccountInfo));
if (localAccountInfo.success == true && localAccountInfo.data != null) {
this.data.saasid = localAccountInfo.data.store.saasid;
if (localAccountInfo.data.store.marketid != null) {
this.data.marketId = localAccountInfo.data.store.marketid;
} else {
this.data.marketId = localAccountInfo.data.store.storeId;
}
this.data.posId = localAccountInfo.data.store.posId;
this.data.cashierCode = localAccountInfo.data.store.operatorId;
this.data.signKey = localAccountInfo.data.store.miyaPayPlatformSignKey;
this.data.baseUrl = localAccountInfo.data.store.miyaPayPlatformUrl + "";
this.data.apiVersion = localAccountInfo.data.store.miyaPayApiVersion;
if (getApp().globalData.useTestPayInfo == true) {
//just for test
this.data.signKey = "nbz9ww27sx4ou6dkr61mf63tth3s6e2d";
this.data.saasid = "miya";
this.data.marketId = "slzf";
this.data.posId = "1";
this.data.cashierCode = "1";
this.data.baseUrl = "https://paytest.miyapay.com/miya/miyapay_response.action";
}
}
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
* 刷脸支付
*/
onHide: function () {
},
facePay:function(){
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
this.doPay("23444764646446464644646446")
},
/**
* 页面相关事件处理函数--监听用户下拉动作
* 扫码支付
*/
onPullDownRefresh: function () {
scanPay:function(){
this.setData({
show:true
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
* 请求支付
*/
doPay:function(payCode){
wx.showLoading({
title: '请稍后...',
})
//todo
var orderNo = (new Date()).getTime() + "";
miyapay.requestPay({
baseUrl: this.data.baseUrl,
type: miyapay.TYPE_BARCODE_PAY,
saasid: this.data.saasid,
marketId: this.data.marketId,
posId: this.data.posId,
cashierCode: this.data.cashierCode,
version: "1.5",
orderNo: orderNo,
token: payCode,
payPrice:miyapay.fen2Yuan(parseInt(this.data.payPriceYuan)),
signKey: this.data.signKey,
callback: (res) => {
console.log("支付回调==>" + JSON.stringify(res));
if (res.code == 0) {
//支付成功
this.paySuccess();
} else {
this.payFail(res.data);
}
wx.hideLoading({
success: (res) => {},
})
}
});
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
/**
* 支付成功
*/
paySuccess(){
wx.showToast({
title: "支付成功",
icon: 'success',
duration: 2000
})
wx.redirectTo({
url: '/pages/pay_result/pay_result?payPriceYuan='+this.data.payPriceYuan+"&description=支付成功",
})
},
/**
* 支付失败
*/
payFail(msg) {
wx.redirectTo({
url: '/pages/pay_result/pay_result?payPriceYuan='+this.data.payPriceYuan+"&description=支付成功",
})
// if (this.data.show) {
// this.setData({
// scanPayError: msg
// })
// } else {
// wx.showToast({
// title: msg,
// icon: 'none',
// duration: 2000
// })
// }
}
}
})
\ No newline at end of file
{
"usingComponents": {}
"usingComponents": {
"scan-pay-dialog": "../../miniprogram_npm/weui-miniprogram/scan-pay-dialog/scan-pay-dialog"
}
}
\ No newline at end of file
<view class="page">
<view class="balance-top" >
<view class="balance-top">
<view class="wait-remind">请支付</view>
<view class="price">¥{{payPriceYuan}}</view>
</view>
<text class="pay-guide">请选择支付方式</text>
</view>
<view class="pay-way-container">
<text class="pay-guide">请选择支付方式</text>
<view class="pay-way-item">
<image class="pay-way-image" src="../../images/face_pay.png"/>
<view>刷脸支付</view>
</view>
<view class="pay-way-container">
<view class="pay-way-item">
<image class="pay-way-image" src="../../images/qr_pay.png"/>
<view>扫码支付</view>
</view>
<view class="pay-way-item">
</view>
</view>
\ No newline at end of file
<image class="pay-way-image" src="../../images/face_pay.png" bindtap="facePay"/>
<view>刷脸支付</view>
</view>
<view class="pay-way-item">
<image class="pay-way-image" src="../../images/qr_pay.png" bindtap="scanPay" />
<view>扫码支付</view>
</view>
</view>
</view>
<scan-pay-dialog
bindbuttontap="buttontap"
show="{{show}}"
maskClosable="{{false}}"
title="占位符"
subTitle="占位符"
desc="请扫描付款码支付"
tips="{{scanPayError}}"
></scan-pay-dialog>
\ No newline at end of file
......@@ -72,7 +72,7 @@ Page({
//todo 测试
var payPriceYuan = "0.01";
wx.navigateTo({
url: '/pages/operation_waiting/operation_waiting?payPriceYuan='+payPriceYuan,
url: '/pages/balance/balance?payPriceYuan='+payPriceYuan,
})
}
})
\ No newline at end of file
......@@ -113,7 +113,9 @@ Page({
duration: 2000
})
wx.setStorageSync('accountInfo', params)
wx.navigateTo({
//登录信息 =》 全局变量
getApp().globalData.localAccountInfo = res.data;
wx.redirectTo({
url: '/pages/home/home',
})
}else{
......
Page({
/**
* 页面的初始数据
*/
data: {
payPriceYuan:"0.00",
description:"支付成功",
goHomeCountDown:"3秒后跳转到首页",
payCountDownTimer:null,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var payPriceYuan = options.payPriceYuan
var description = options.description
this.setData({
payPriceYuan:payPriceYuan,
description:description
})
},
onShow:function(){
//回到首页倒计时
this.startPayCountDown();
},
/**
* 3秒倒计时结束 弹出选择支付方式
*/
startPayCountDown:function(){
this.setData({goHomeCountDown:"3秒后跳转到首页"})
if (this.data.payCountDownTimer != null) {
clearInterval(this.data.payCountDownTimer)
}
var countDown = 3;
var that = this;
var payCountDownTimer = setInterval(() => {
if(countDown <= 0){
that.backHome()
clearInterval(payCountDownTimer)
}else{
--countDown
that.setData({goHomeCountDown:countDown+"s秒后跳转到首页"})
}
}, 1000);
},
/**
* 回到首页
*/
backHome(){
wx.navigateBack({
delta: 1
})
}
})
\ No newline at end of file
{
"usingComponents": {}
}
\ No newline at end of file
<view class="page">
<image class="icon-success" src="../../images/icon_success.png"/>
<view class="description">{{description}}</view>
<view class="price">¥{{payPriceYuan}}</view>
<view class="btn-go-home"><button type="default" bindtap="backHome" >回到首页</button>
</view>
<view class="count-down">{{goHomeCountDown}}</view>
</view>
\ No newline at end of file
.page{
display: flex;
flex-direction: column;
align-content: center;
align-items: center;
}
.icon-success{
width: 120rpx;
height: 120rpx;
margin-top: 266rpx;
}
.description{
font-size: 40rpx;
margin-top: 30rpx;
}
.price{
color: var(--main-color);
font-size: 80rpx;
margin-top:40rpx;
}
.btn-go-home{
width: 70%;
height: 115rpx;
margin-top: 120rpx;
}
.count-down{
font-size: 32rpx;
color: #788192;
margin-top: 290rpx;
}
\ No newline at end of file
!
function(n) {
"use strict";
function t(n, t) {
var r = (65535 & n) + (65535 & t),
e = (n >> 16) + (t >> 16) + (r >> 16);
return e << 16 | 65535 & r
}
function r(n, t) {
return n << t | n >>> 32 - t
}
function e(n, e, o, u, c, f) {
return t(r(t(t(e, n), t(u, f)), c), o)
}
function o(n, t, r, o, u, c, f) {
return e(t & r | ~t & o, n, t, u, c, f)
}
function u(n, t, r, o, u, c, f) {
return e(t & o | r & ~o, n, t, u, c, f)
}
function c(n, t, r, o, u, c, f) {
return e(t ^ r ^ o, n, t, u, c, f)
}
function f(n, t, r, o, u, c, f) {
return e(r ^ (t | ~o), n, t, u, c, f)
}
function i(n, r) {
n[r >> 5] |= 128 << r % 32,
n[(r + 64 >>> 9 << 4) + 14] = r;
var e, i, a, h, d, l = 1732584193,
g = -271733879,
v = -1732584194,
m = 271733878;
for (e = 0; e < n.length; e += 16) i = l,
a = g,
h = v,
d = m,
l = o(l, g, v, m, n[e], 7, -680876936),
m = o(m, l, g, v, n[e + 1], 12, -389564586),
v = o(v, m, l, g, n[e + 2], 17, 606105819),
g = o(g, v, m, l, n[e + 3], 22, -1044525330),
l = o(l, g, v, m, n[e + 4], 7, -176418897),
m = o(m, l, g, v, n[e + 5], 12, 1200080426),
v = o(v, m, l, g, n[e + 6], 17, -1473231341),
g = o(g, v, m, l, n[e + 7], 22, -45705983),
l = o(l, g, v, m, n[e + 8], 7, 1770035416),
m = o(m, l, g, v, n[e + 9], 12, -1958414417),
v = o(v, m, l, g, n[e + 10], 17, -42063),
g = o(g, v, m, l, n[e + 11], 22, -1990404162),
l = o(l, g, v, m, n[e + 12], 7, 1804603682),
m = o(m, l, g, v, n[e + 13], 12, -40341101),
v = o(v, m, l, g, n[e + 14], 17, -1502002290),
g = o(g, v, m, l, n[e + 15], 22, 1236535329),
l = u(l, g, v, m, n[e + 1], 5, -165796510),
m = u(m, l, g, v, n[e + 6], 9, -1069501632),
v = u(v, m, l, g, n[e + 11], 14, 643717713),
g = u(g, v, m, l, n[e], 20, -373897302),
l = u(l, g, v, m, n[e + 5], 5, -701558691),
m = u(m, l, g, v, n[e + 10], 9, 38016083),
v = u(v, m, l, g, n[e + 15], 14, -660478335),
g = u(g, v, m, l, n[e + 4], 20, -405537848),
l = u(l, g, v, m, n[e + 9], 5, 568446438),
m = u(m, l, g, v, n[e + 14], 9, -1019803690),
v = u(v, m, l, g, n[e + 3], 14, -187363961),
g = u(g, v, m, l, n[e + 8], 20, 1163531501),
l = u(l, g, v, m, n[e + 13], 5, -1444681467),
m = u(m, l, g, v, n[e + 2], 9, -51403784),
v = u(v, m, l, g, n[e + 7], 14, 1735328473),
g = u(g, v, m, l, n[e + 12], 20, -1926607734),
l = c(l, g, v, m, n[e + 5], 4, -378558),
m = c(m, l, g, v, n[e + 8], 11, -2022574463),
v = c(v, m, l, g, n[e + 11], 16, 1839030562),
g = c(g, v, m, l, n[e + 14], 23, -35309556),
l = c(l, g, v, m, n[e + 1], 4, -1530992060),
m = c(m, l, g, v, n[e + 4], 11, 1272893353),
v = c(v, m, l, g, n[e + 7], 16, -155497632),
g = c(g, v, m, l, n[e + 10], 23, -1094730640),
l = c(l, g, v, m, n[e + 13], 4, 681279174),
m = c(m, l, g, v, n[e], 11, -358537222),
v = c(v, m, l, g, n[e + 3], 16, -722521979),
g = c(g, v, m, l, n[e + 6], 23, 76029189),
l = c(l, g, v, m, n[e + 9], 4, -640364487),
m = c(m, l, g, v, n[e + 12], 11, -421815835),
v = c(v, m, l, g, n[e + 15], 16, 530742520),
g = c(g, v, m, l, n[e + 2], 23, -995338651),
l = f(l, g, v, m, n[e], 6, -198630844),
m = f(m, l, g, v, n[e + 7], 10, 1126891415),
v = f(v, m, l, g, n[e + 14], 15, -1416354905),
g = f(g, v, m, l, n[e + 5], 21, -57434055),
l = f(l, g, v, m, n[e + 12], 6, 1700485571),
m = f(m, l, g, v, n[e + 3], 10, -1894986606),
v = f(v, m, l, g, n[e + 10], 15, -1051523),
g = f(g, v, m, l, n[e + 1], 21, -2054922799),
l = f(l, g, v, m, n[e + 8], 6, 1873313359),
m = f(m, l, g, v, n[e + 15], 10, -30611744),
v = f(v, m, l, g, n[e + 6], 15, -1560198380),
g = f(g, v, m, l, n[e + 13], 21, 1309151649),
l = f(l, g, v, m, n[e + 4], 6, -145523070),
m = f(m, l, g, v, n[e + 11], 10, -1120210379),
v = f(v, m, l, g, n[e + 2], 15, 718787259),
g = f(g, v, m, l, n[e + 9], 21, -343485551),
l = t(l, i),
g = t(g, a),
v = t(v, h),
m = t(m, d);
return [l, g, v, m]
}
function a(n) {
var t, r = "";
for (t = 0; t < 32 * n.length; t += 8) r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255);
return r
}
function h(n) {
var t, r = [];
for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1) r[t] = 0;
for (t = 0; t < 8 * n.length; t += 8) r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32;
return r
}
function d(n) {
return a(i(h(n), 8 * n.length))
}
function l(n, t) {
var r, e, o = h(n),
u = [],
c = [];
for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; 16 > r; r += 1) u[r] = 909522486 ^ o[r],
c[r] = 1549556828 ^ o[r];
return e = i(u.concat(h(t)), 512 + 8 * t.length),
a(i(c.concat(e), 640))
}
function g(n) {
var t, r, e = "0123456789abcdef",
o = "";
for (r = 0; r < n.length; r += 1) t = n.charCodeAt(r),
o += e.charAt(t >>> 4 & 15) + e.charAt(15 & t);
return o
}
function v(n) {
return unescape(encodeURIComponent(n))
}
function m(n) {
return d(v(n))
}
function p(n) {
return g(m(n))
}
function s(n, t) {
return l(v(n), v(t))
}
function C(n, t) {
return g(s(n, t))
}
function A(n, t, r) {
return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n)
}
"function" == typeof define && define.amd ? define(function() {
return A
}) : "object" == typeof module && module.exports ? module.exports = A: n.md5 = A
} (this);
\ No newline at end of file
import {floatObj} from "./numberutils"
/**
*
* 该sdk对应主工程4.x.x版本,业务逻辑详见业务流程图
*/
var MD5 = require("./md5.min.js");
//base url
var BASE_URL = "https://paytest.miyapay.com/miya/miyapay_response.action";
//条码支付(被扫)
var TYPE_BARCODE_PAY = 0;
//刷脸支付
var TYPE_FACE_PAY = 1;
//轮询最大次数
var REQUEST_MAX_SIZE = 12;
/**
* 支付渠道
*/
var PAY_WAY = [
{ key: "1", value: "微信" },
{ key: "3", value: "支付宝" },
{ key: "4", value: "百度" },
{ key: "5", value: "翼支付" },
{ key: "6", value: "QQ钱包" },
{ key: "9", value: "微众有折" },
{ key: "C", value: "京东" },
{ key: "K", value: "工行" },
{ key: "N", value: "银联钱包" },
{ key: "U", value: "移动和包" },
];
/**
* 获取支付渠道
*/
function getPayWay(payWayCode) {
for (var i = 0; i < PAY_WAY.length; i++) {
if (payWayCode == PAY_WAY[i].key) {
return PAY_WAY[i].value;
}
}
return "未知";
}
/**
* 查单
*/
function checkOrderState({ baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, signKey, requestCount, callback }) {
//首先检查baseUrl
if (baseUrl == null || baseUrl.trim().length == 0) {
//直接失败
var response = { code: {}, data: {} };
//-1代表支付失败
response.code = -1;
response.data = "支付地址未配置";
callback(response);
return;
}
//如果超过轮询次数
if (requestCount != null) {
if (requestCount <= 0) {
if (callback != null) {
var response = { code: {}, data: {} };
response.code = -1;
response.data = "超过轮询次数";
callback(response);
//撤单一次,不管结果
orderCancel({ saasid, marketId, posId, cashierCode, version, orderNo, signKey, callback: null });
return;
}
}
} else {
//没有传入请求次数时,自造一个
requestCount = 0;
}
var checkOrderRequest = {
request: {
},
data: {
}
};
//A1 固定传“A”
checkOrderRequest.request.A1 = "A";
//A2 saasid
if (saasid != null) {
checkOrderRequest.request.A2 = saasid;
}
//A3 marketId
if (marketId != null) {
checkOrderRequest.request.A3 = marketId;
}
//A4 posId
if (posId != null) {
checkOrderRequest.request.A4 = posId;
}
//A5 cashierCode
if (cashierCode != null) {
checkOrderRequest.request.A5 = cashierCode;
}
//A6 固定传“B”
checkOrderRequest.request.A6 = "B";
//A7 默认传“1.5”
if (version != null) {
checkOrderRequest.request.A7 = version;
} else {
checkOrderRequest.request.A7 = "1.5";
}
//B1 orderNo
if (orderNo != null) {
checkOrderRequest.data.B1 = orderNo;
}
//A8 加签
checkOrderRequest.request.A8 = getSign(checkOrderRequest, signKey);
//请求
var checkOrderRequestXmlStr = "<xml>" + json2xml(checkOrderRequest) + "</xml>";
console.log("checkOrderRequestXmlStr==>" + checkOrderRequestXmlStr);
wx.request({
headers: {
'content-type': 'application/xml'
},
method: 'POST',
url: baseUrl,
dataType: 'text',
timeout: 15000,
data: checkOrderRequestXmlStr,
success: (res) => {
console.log("轮询查单:request success==>" + JSON.stringify(res));
//解析
var payResponse = change2PayResponse(res.data);
if (payResponse.C1 == "SUCCESS" && payResponse.C2 == "PAYSUCCESS") {
//支付成功
if (callback != null) {
var response = { code: {}, data: {} };
response.code = 0;
response.data = payResponse;
callback(response);
}
} else if (payResponse.C1 == "SUCCESS" && payResponse.C2 == "PAYWAIT") {
//继续轮询
console.log("轮询查单:支付等待中,轮询剩余count==>" + (requestCount - 1));
//失败后轮询查单
sleep(5000);
requestCount = requestCount - 1;
checkOrderState({
baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, signKey, requestCount, callback
});
} else {
console.log("轮询查单:支付失败==>" + payResponse.C4);
//直接提示失败
if (callback != null) {
var response = { code: {}, data: {} };
response.code = -1;
response.data = payResponse.C4 + "";
callback(response);
}
}
},
fail: (res) => {
console.log("轮询查单:request fail==>" + JSON.stringify(res) + ";剩余请求count==>" + (requestCount - 1));
//失败后轮询
sleep(5000);
requestCount = requestCount - 1;
checkOrderState({
baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, signKey, requestCount, callback
});
}
});
}
/**
* 撤单
*/
function orderCancel({ baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, signKey, callback }) {
//首先检查baseUrl
if (baseUrl == null || baseUrl.trim().length == 0) {
//直接失败
var response = { code: {}, data: {} };
//-1代表支付失败
response.code = -1;
response.data = "支付地址未配置";
callback(response);
return;
}
var cancelRequest = {
request: {
},
data: {
}
};
//A1 固定传“A”
cancelRequest.request.A1 = "A";
//A2 saasid
if (saasid != null) {
cancelRequest.request.A2 = saasid;
}
//A3 marketId
if (marketId != null) {
cancelRequest.request.A3 = marketId;
}
//A4 posId
if (posId != null) {
cancelRequest.request.A4 = posId;
}
//A5 cashierCode
if (cashierCode != null) {
cancelRequest.request.A5 = cashierCode;
}
//A6 固定传“E”
cancelRequest.request.A6 = "E";
//A7 默认传“1.5”
if (version != null) {
cancelRequest.request.A7 = version;
} else {
cancelRequest.request.A7 = "1.5";
}
//B1 orderNo
if (orderNo != null) {
cancelRequest.data.B1 = orderNo;
}
//A8 加签
cancelRequest.request.A8 = getSign(cancelRequest, signKey);
//请求
var cancelRequestXmlStr = "<xml>" + json2xml(cancelRequest) + "</xml>";
console.log("cancelRequestXmlStr==>" + cancelRequestXmlStr);
wx.request({
headers: {
'content-type': 'application/xml'
},
method: 'POST',
url: baseUrl,
dataType: 'text',
timeout: 15000,
data: cancelRequestXmlStr,
success: (res) => {
console.log("撤单:request success==>" + JSON.stringify(res));
//解析
var payResponse = change2PayResponse(res.data);
var response = { code: {}, data: {} };
response.code = 0;
response.data = payResponse;
if (callback != null) {
callback(response);
}
},
fail: (res) => {
console.log("撤单:request fail==>" + JSON.stringify(res));
var response = { code: {}, data: {} };
response.code = -1;
response.data = decodeErrorMessage(res.error);
if (callback != null) {
callback(response);
}
}
});
}
function decodeErrorMessage(error) {
if (error == null) {
return "请求失败";
}
switch (error) {
case "11": return "无权跨域";
case "12": return "网络出错";
case "13": return "请求超时";
case "14": return "解码失败";
case "19": return "HTTP错误";
case "20": return "请求已被停止/服务端限流";
}
return "请求失败";
}
/**
* 发起支付
*/
function requestPay({ baseUrl, type, saasid, marketId, posId, cashierCode, version, orderNo, token, payPrice, paymentInfoShowMsg, signKey, requestCount, goodsDetailList, callback }) {
//首先检查baseUrl
if (baseUrl == null || baseUrl.trim().length == 0) {
//直接失败
var response = { code: {}, data: {} };
//-1代表支付失败
response.code = -1;
response.data = "支付地址未配置";
callback(response);
return;
}
//如果超过轮询次数
if (requestCount != null) {
if (requestCount <= 0) {
if (callback != null) {
var response = { code: {}, data: {} };
//-1代表支付失败
response.code = -1;
response.data = "轮询超过最大次数";
callback(response);
return;
}
}
} else {
//没有传入请求次数时,自造一个
requestCount = 0;
}
var payRequest = {
request: {
},
data: {
}
};
var payRequestXmlStr;
//A1 固定传“A”
payRequest.request.A1 = "A";
//A2 saasid
if (saasid != null) {
payRequest.request.A2 = saasid;
}
//A3 marketId
if (marketId != null) {
payRequest.request.A3 = marketId;
}
//A4 posId
if (posId != null) {
payRequest.request.A4 = posId;
}
//A5 cashierCode
if (cashierCode != null) {
payRequest.request.A5 = cashierCode;
}
//A6 固定传“A”
payRequest.request.A6 = "A";
//A7 默认传“1.5”
if (version != null) {
payRequest.request.A7 = version;
} else {
payRequest.request.A7 = "1.5";
}
//A10 支付类型
if (type == TYPE_BARCODE_PAY) {
//条码付
payRequest.request.A10 = "36";
} else if (type == TYPE_FACE_PAY) {
//条码刷脸付
payRequest.request.A10 = "36";
}
//B1 orderNo
if (orderNo != null) {
payRequest.data.B1 = orderNo;
}
//B2 token,扫码付是付款条码,刷脸付是faceToken
if (token != null) {
payRequest.data.B2 = token;
}
//B3 描述信息
payRequest.data.B3 = "蜻蜓IOT支付";
//B4 支付金额,分
if (payPrice != null) {
payRequest.data.B4 = payPrice;
}
//B5 商品明细
if (goodsDetailList != null) {
payRequest.data.B5 = goodsDetailList;
}
//B20 支付类型(固定传IOT-DEVICE)
payRequest.data.B20 = "IOT-DEVICE";
//A8 加签
payRequest.request.A8 = getSign(payRequest, signKey);
//请求
payRequestXmlStr = "<xml>" + json2xml(payRequest) + "</xml>";
console.log("payRequestXmlStr==>" + payRequestXmlStr);
wx.request({
headers: {
'content-type': 'application/xml'
},
method: 'POST',
url: baseUrl,
dataType: 'text',
timeout: 15000,
data: payRequestXmlStr,
success: (res) => {
console.log("request success==>" + JSON.stringify(res));
//解析
var payResponse = change2PayResponse(res.data);
//支付成功
if (payResponse.C1 == "SUCCESS" && payResponse.C2 == "PAYSUCCESS") {
console.log("支付成功==>" + JSON.stringify(payResponse));
//支付成功
if (callback != null) {
var response = { code: {}, data: {} };
//0代表支付成功
response.code = 0;
response.data = payResponse;
callback(response);
}
} else if (payResponse.C1 == "SUCCESS" && payResponse.C2 == "PAYWAIT") {
//继续轮询
console.log("支付等待中,去查单");
checkOrderState({ baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, signKey, requestCount: REQUEST_MAX_SIZE, callback });
} else {
//支付失败,直接回调
console.log("支付失败");
if (callback != null) {
var response = { code: {}, data: {} };
//-1代表支付失败
response.code = -1;
if (payResponse.C4 != null && payResponse.C4.trim() != "") {
response.data = payResponse.C4 + "";
} else {
response.data = "支付失败";
}
callback(response);
}
}
},
fail: (res) => {
console.log("request fail==>" + JSON.stringify(res) + ";count==>" + requestCount);
//失败后立即查单一次
checkOrderState({ baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, signKey, requestCount: 1, callback })
}
});
}
/**
* 退款
*/
function refund({ baseUrl, saasid, marketId, posId, cashierCode, version, orderNo, refundNo, refundPrice, signKey, goodsDetailList, callback }) {
//首先检查baseUrl
if (baseUrl == null || baseUrl.trim().length == 0) {
//直接失败
var response = { code: {}, data: {} };
//-1代表支付失败
response.code = -1;
response.data = "支付地址未配置";
callback(response);
return;
}
var refundRequest = {
request: {
},
data: {
}
};
var refundRequestXmlStr;
//A1 接口类型,固定传“A”
refundRequest.request.A1 = "A";
//A2 米雅侧商户号
if (saasid != null) {
refundRequest.request.A2 = saasid;
}
//A3 门店号
if (marketId != null) {
refundRequest.request.A3 = marketId;
}
//A4 设备号(POS机编号)
if (posId != null) {
refundRequest.request.A4 = posId;
}
//A5 收银员编号
if (cashierCode != null) {
refundRequest.request.A5 = cashierCode;
}
//A6 操作类型,固定传“C”,代表退款
refundRequest.request.A6 = "C";
//A7 版本号 默认传“1.5”
if (version != null) {
refundRequest.request.A7 = version;
} else {
refundRequest.request.A7 = "1.5";
}
//B1 原商户订单号
if (orderNo != null) {
refundRequest.data.B1 = orderNo;
}
//B2 退款单号 同笔订单内不可重复
if (refundNo != null) {
refundRequest.data.B2 = refundNo;
}
//B4 退款金额 单位:分
if (refundPrice != null) {
refundRequest.data.B4 = refundPrice;
}
//B5 商品信息
if (goodsDetailList != null) {
refundRequest.data.B5 = goodsDetailList;
}
//A8 签名
refundRequest.request.A8 = getSign(refundRequest, signKey);
refundRequestXmlStr = "<xml>" + json2xml(refundRequest) + "</xml>";
console.log("refundRequestXmlStr==>" + refundRequestXmlStr);
wx.request({
headers: {
'content-type': 'application/xml'
},
method: 'POST',
url: baseUrl,
dataType: 'text',
timeout: 15000,
data: refundRequestXmlStr,
success: (res) => {
console.log("request success==>" + JSON.stringify(res));
//解析
var refundResponse = change2PayResponse(res.data);
if (refundResponse.C2 == "REFUNDSUCCESS") {
//退款成功
if (callback != null) {
var response = { code: {}, data: {} };
response.code = 0;
response.data = refundResponse;
callback(response);
}
} else {
//退款失败
if (callback != null) {
var response = { code: {}, data: {} };
response.code = -1;
if (refundResponse.C4 != null) {
response.data = refundResponse.C4;
} else {
response.data = "退款失败";
}
callback(response);
}
}
},
fail: (res) => {
console.log("request failed==>" + JSON.stringify(res));
//提示退款失败
if (callback != null) {
var response = { code: {}, data: {} };
response.code = -1;
response.data = "退款失败:" + decodeErrorMessage(res.error);
callback(response);
}
}
});
}
function json2xml(obj) {
var xmlStr = "";
// console.log("keys==>" + Object.getOwnPropertyNames(obj));
var len = Object.getOwnPropertyNames(obj).length;
if (Object.getOwnPropertyNames(obj)[len - 1] == 'length') {
//注意,遇到特殊字符时,需转义
var objStr = obj + "";
//首先替换掉&符号
var objStrNew = objStr.replace(/&/g, "&amp;").replace(/\"/g, "&quot;").replace(/\'/g, "&apos;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
return xmlStr = xmlStr + objStrNew;
}
for (const [key, value] of Object.entries(obj)) {
// console.log("key==>" + key + ";value==>" + value);
xmlStr = xmlStr + "<" + key + ">" + json2xml(value);
xmlStr = xmlStr + "</" + key + ">";
}
// console.log("xmlStr==>" + xmlStr);
return xmlStr;
}
function change2PayResponse(source) {
var payResponse = {
};
payResponse.C1 = findElement(source, "C1");
payResponse.C2 = findElement(source, "C2");
payResponse.C3 = findElement(source, "C3");
payResponse.C4 = findElement(source, "C4");
payResponse.C5 = findElement(source, "C5");
payResponse.C6 = findElement(source, "C6");
payResponse.C7 = findElement(source, "C7");
payResponse.C8 = findElement(source, "C8");
payResponse.C9 = findElement(source, "C9");
payResponse.C10 = findElement(source, "C10");
payResponse.C11 = findElement(source, "C11");
payResponse.C12 = findElement(source, "C12");
payResponse.C13 = findElement(source, "C13");
payResponse.C14 = findElement(source, "C14");
payResponse.C15 = findElement(source, "C15");
payResponse.C19 = findElement(source, "C19");
payResponse.C21 = findElement(source, "C21");
payResponse.C23 = findElement(source, "C23");
payResponse.C24 = findElement(source, "C24");
payResponse.C25 = findElement(source, "C25");
payResponse.C27 = findElement(source, "C27");
return payResponse;
}
function findElement(source, tag) {
var index1 = source.indexOf("<" + tag + ">");
var index2 = source.indexOf("</" + tag + ">");
return source.substr(index1 + tag.length + 2, index2 - index1 - tag.length - 2);
}
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
/**
* 加签名
*/
function getSign(request, signKey) {
var targetStr = "";
var sortAKeys = Object.keys(request.request);
//排序
sortAKeys.sort();
//遍历
sortAKeys.forEach(function (key) {
if (key != "A8") {
targetStr = targetStr + "&" + key + "=" + request.request[key];
}
});
//排序
var sortBKeys = Object.keys(request.data);
sortBKeys.sort();
//遍历
sortBKeys.forEach(function (key) {
targetStr = targetStr + "&" + key + "=" + request.data[key];
});
targetStr = targetStr + "&KEY=" + signKey;
var signedStr = MD5(targetStr).toLocaleUpperCase();
return signedStr;
}
function fen2Yuan(num) {
if (typeof num !== "number" || isNaN(num)) return null;
return (num / 100).toFixed(2);
}
function yuan2Fen(yuan) {
return floatObj.multiply(yuan,100);
}
module.exports.TYPE_BARCODE_PAY = TYPE_BARCODE_PAY;
module.exports.TYPE_FACE_PAY = TYPE_FACE_PAY;
module.exports.requestPay = requestPay;
module.exports.refund = refund;
module.exports.fen2Yuan = fen2Yuan;
module.exports.yuan2Fen = yuan2Fen;
module.exports.getPayWay = getPayWay;
\ No newline at end of file
export const floatObj = (function() {
/*
* 判断obj是否为一个整数
*/
function isInteger(obj) {
return Math.floor(obj) === obj;
}
/*
* 将一个浮点数转成整数,返回整数和倍数。如 3.14 >> 314,倍数是 100
* @param floatNum {number} 小数
* @return {object}
* {times:100, num: 314}
*/
function toInteger(floatNum) {
var ret = { times: 1, num: 0 };
if (isInteger(floatNum)) {
ret.num = floatNum;
return ret;
}
var strfi = floatNum + "";
var dotPos = strfi.indexOf(".");
var len = strfi.substr(dotPos + 1).length;
var times = Math.pow(10, len);
var intNum = parseInt(floatNum * times + 0.5, 10);
ret.times = times;
ret.num = intNum;
return ret;
}
/*
* 核心方法,实现加减乘除运算,确保不丢失精度
* 思路:把小数放大为整数(乘),进行算术运算,再缩小为小数(除)
*
* @param a {number} 运算数1
* @param b {number} 运算数2
* @param op {string} 运算类型,有加减乘除(add/subtract/multiply/divide)
*
*/
function operation(a, b, op) {
var o1 = toInteger(a);
var o2 = toInteger(b);
var n1 = o1.num;
var n2 = o2.num;
var t1 = o1.times;
var t2 = o2.times;
var max = t1 > t2 ? t1 : t2;
var result = null;
switch (op) {
case "add":
if (t1 === t2) {
// 两个小数位数相同
result = n1 + n2;
} else if (t1 > t2) {
// o1 小数位 大于 o2
result = n1 + n2 * (t1 / t2);
} else {
// o1 小数位 小于 o2
result = n1 * (t2 / t1) + n2;
}
return result / max;
case "subtract":
if (t1 === t2) {
result = n1 - n2;
} else if (t1 > t2) {
result = n1 - n2 * (t1 / t2);
} else {
result = n1 * (t2 / t1) - n2;
}
return result / max;
case "multiply":
result = (n1 * n2) / (t1 * t2);
return result;
case "divide":
result = (n1 / n2) * (t2 / t1);
return result;
}
}
// 加减乘除的四个接口
function add(a, b) {
return operation(a, b, "add");
}
function subtract(a, b) {
return operation(a, b, "subtract");
}
function multiply(a, b) {
return operation(a, b, "multiply");
}
function divide(a, b) {
return operation(a, b, "divide");
}
// exports
return {
add: add,
subtract: subtract,
multiply: multiply,
divide: divide
};
})();
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment