zoukankan      html  css  js  c++  java
  • uni-app

    App支付、小程序支付、h5(微信端)支付

    APP支付(内置)

    appPay.js

    /**
     * 5+App支付,仅支持支付宝以及微信支付
     * 
     * 支付宝Sdk集成,微信sdk未集成
     * 
     * @param : provider(String) ->被支付方
     * @param : orderInfo(String) ->订单信息
     * @param : success,fail(Json) ->回调后的json信息
     * 
     */
    
    
    const mPay = (provider, orderInfo, success, fail) => (
    	uni.requestPayment({
    		provider,
    		orderInfo, //订单数据
    		success(res) {
    			success(JSON.stringify(res));
    		},
    		fail(err) {
    			fail(JSON.stringify(err));
    		}
    	});
    )
    
    export default mPay;
    

    微信小程序支付(内置)

    mPay.js

    /**
     * 微信小程序支付,仅支持微信支付(后续可能集成网页支付宝支付web-view)
     * 
     * @param : provider(String) ->付款商家
     * @param : timeStamp(String) ->时间戳(当前支付时间)
     * @param : nonceStr(String) ->支付密匙
     * @param : packages(String) ->支付id
     * @param : signType(String) ->加密方式(默认MD5)
     * @param : paySign(String)
     * 
     * 
     * 
     * 小程序支付调用
     * 
     * wePay(provider, timeStamp, nonceStr, packages, signType, paySign,res=>{},fail=>{})
     */
    
    const wePay = (provider, timeStamp, nonceStr, packages, signType, paySign,success,fail) => (
    	uni.requestPayment({
    		provider,
    		timeStamp,
    		nonceStr,
    		package: packages,
    		signType,
    		paySign,
    		success(res) {
    			success(JSON.stringify(res));
    		},
    		fail(err) {
    			fail(JSON.stringify(err))
    		}
    	});
    )
    
    
    
    export default wePay;
    

    公众号支付(如果使用微信官方weixin-js-sdk,请使用跨端兼容方案

    (需要引入模块:jweixin-module),详情见yarn以及npm安装

    pPay.js

    /*
    	微信支付方法(uni-app h5)适用
    	获取微信加签信息
    	@param{data}:获取的微信加签
    	@param{res}:成功回调
    	@param{fail}:失败回调
    	
    	@warn:因为package为严格模式下的保留字,不能用作变量.
    	@use
    	
    		wPay({
    			appId,
    			timeStamp,
    			nonceStr,
    			signature,
    			package,
    			paySign
    		},res=>{
    			console.log('调用成功!');
    		},fail=>{
    			console.log('调用失败!');
    		})
    */
    const wx = require('jweixin-module');

    const wexinPay = (data, cb, errorCb) => { let [appId, timestamp, nonceStr, signature, packages, paySign] = [data.appId, data.timeStamp, data.nonceStr, data.signature, data.package, data.paySign ]; wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId, // 必填,公众号的唯一标识 timestamp, // 必填,生成签名的时间戳 nonceStr, // 必填,生成签名的随机串 signature, // 必填,签名,见附录1 jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function() { wx.chooseWXPay({ timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr, // 支付签名随机串,不长于 32 位 'package': packages, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) signType: 'MD5', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign, // 支付签名 success(res) { // 支付成功后的回调函数 cb(res); }, fail(res) { errorCb(res); } }); }); wx.error(function(res) { // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 /*alert("config信息验证失败");*/ }); } export default wexinPay;

     

    关于H5详见微信官方WX-JS-SDK:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

  • 相关阅读:
    js中的原生Ajax和JQuery中的Ajax
    this的用法
    static的特性
    时政20180807
    java compiler没有1.8怎么办
    Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet Unknown Faceted Project Problem (Java Version Mismatch)
    分词器
    [数算]有一个工程甲、乙、丙单独做,分别要48天、72天、96天完成
    一点感想
    解析Excel文件 Apache POI框架使用
  • 原文地址:https://www.cnblogs.com/cisum/p/10142412.html
Copyright © 2011-2022 走看看