精华内容
下载资源
问答
  • noncestr=HD20191213095858082506, timestamp=1576202338} 前端实现的方法: let temPrams = data.infotemPrams.timestamp = parseInt(data.info.timestamp)plus.payment.request(this.channel,temPrams,res => {...

    请求数据统一下单接口的参数:[{{"nonce_str":"HD20191213095858082506","out_trade_no":"HD20191213095858082506","appid":"appid","total_fee":"4000","sign":"62278AB2AE68A19211DB896E787FF3D4","trade_type":"APP","mch_id":"1555064671","body":"商城购物","notify_url":"http://test.url.com","spbill_create_ip":"ip"}}]

    微信返回数据:[{{nonce_str=uSDseVLuL1W4k9S6, sign=BCB9C2C01B02C9604FB7C74BAE898B84, return_msg=OK, mch_id=mch_id, prepay_id=wx13095858379897e7a41acd311295680400, appid=appid, trade_type=APP, result_code=SUCCESS, return_code=SUCCESS}}]

    返回给客户端的数据:{package=Sign=WXPay, appid=appid, sign=BCCFB62F7DBFBD8DDCF39693139C43E0, partnerid=partnerid, prepayid=wx13095858379897e7a41acd311295680400, noncestr=HD20191213095858082506, timestamp=1576202338}

    前端实现的方法:

    let temPrams = data.infotemPrams.timestamp = parseInt(data.info.timestamp)plus.payment.request(this.channel,temPrams,res => {plus.nativeUI.alert('支付成功!', function() {})},error => {plus.nativeUI.alert('支付失败:' + error.code)})

    客户端错误截图:

    473993976ac7e3360c6b744e4c1a929e.png

    期待各路大神的回复!

    展开全文
  • 废话不多时 在plus 支付参数都正确的时候 但...信息 赋值给channels 就可以了,这样要注意plus.payment.getChannels 返回的结果是一个数组,所以要做一下区分,然后在调用一下plus.payment.request 就可以唤起支付了...

    废话不多时  在plus 支付参数都正确的时候  但一直就是支付失败,在error方法打印出来 是 code: 62000,这个错误其实就是 你plus 参数的 channels传递错误造成的,要先调用一下   plus.payment.getChannels 这个方法 把 开发商返回的 信息 赋值给 channels 就可以了,这样要注意  plus.payment.getChannels 返回的结果是一个数组,所以要做一下区分,然后在调用一下  plus.payment.request 就可以唤起支付了

     let channels = null;
    		plus.payment.getChannels(
    		  function(s) {
    		    console.log(JSON.stringify(s),); //[{"id":"alipay","description":"支付宝","serviceReady":true},{"id":"wxpay","description":"微信","serviceReady":true}]
    		    for (let i = 0, len = s.length; i < len; i++) {
    		      let item = s[i];
    		      // 这里的话 就是 根据你的项目要调用那个第三方支付 比如微信 支付宝 等等 然后赋值给 channels  
    			  // channels 是一个对象  不是字符串
    			  if('这里是你要调用第三方的判断'){
    				  channels = item;
    			  }
    		    }
    			/* 这里调起支付 */
    			plus.payment.request(
    			  channels,
    			  result, // 这里是订单数据  
    			  function() {
    			    that.$dialog.toast({
    			      mes: "支付操作成功"
    			    });
    			  },
    			  function(e) {
    			    console.log(JSON.stringify(e));
    			    that.$dialog.toast({
    			      mes: "支付失败"
    			    });
    			  }
    			);
    			
    		  
    		  },
    		  function(e) {
    		    that.$dialog.toast({
    		      mes: "获取支付通道列表失败"
    		    });
    		  }
    		);

     

    展开全文
  • Checking Out with the Payment Request API, A Practical Introduction to the HTML5 Payment Request API using Real-world Ex,2019,new book
  • MUI微信和支付宝支付

    2018-10-29 10:06:00
    plus API使用步骤:1. 调用plus.payment.getChannels()获取系统支持的支付通道;2. 调用plus.payment.request()发起支付请求。 示例代码: 1 var channel=null; 2 // 1. 获取支付通道 ...

    参考:https://www.cnblogs.com/H5App/articles/7279373.html

    plus API使用步骤:
    1. 调用plus.payment.getChannels()获取系统支持的支付通道;
    2. 调用plus.payment.request()发起支付请求。

     

    示例代码:

     1 var channel=null;
     2 // 1. 获取支付通道
     3 function plusReady(){
     4     // 获取支付通道
     5     plus.payment.getChannels(function(channels){
     6         channel=channels[0];
     7     },function(e){
     8         alert("获取支付通道失败:"+e.message);
     9     });
    10 }
    11 document.addEventListener('plusready',plusReady,false);
    12  
    13 var ALIPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/alipay.php?total=';//支付宝支付接口
    14 var WXPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total='; //微信支付接口
    15 // 2. 发起支付请求  在用户输完金额和选完支付方式后可以执行此函数
    16 function pay(id){
    17     // 从服务器请求支付订单
    18     var PAYSERVER='';
    19     if(id=='alipay'){
    20         PAYSERVER=ALIPAYSERVER;
    21     }else if(id=='wxpay'){
    22         PAYSERVER=WXPAYSERVER;
    23     }else{
    24         plus.nativeUI.alert("不支持此支付通道!",null,"捐赠");
    25         return;
    26     }
    27     var xhr=new XMLHttpRequest();
    28     xhr.onreadystatechange=function(){
    29         switch(xhr.readyState){
    30             case 4:
    31             if(xhr.status==200){
    32                 plus.payment.request(channel,xhr.responseText,function(result){
    33                     plus.nativeUI.alert("支付成功!",function(){
    34                         back();
    35                     });
    36                 },function(error){
    37                     plus.nativeUI.alert("支付失败:" + error.code);
    38                 });
    39             }else{
    40                 alert("获取订单信息失败!");
    41             }
    42             break;
    43             default:
    44             break;
    45         }
    46     }
    47     xhr.open('GET',PAYSERVER);
    48     xhr.send();
    49 }

     

    转载于:https://www.cnblogs.com/susutong/p/9869054.html

    展开全文
  • mui微信支付宝支付插件配置

    千次阅读 2018-06-09 23:45:42
    HBuilder 基座已实现H5 plus的支付API,现已集成支付宝快捷支付平台。使用支付功能前必须在支付宝网站开通”快捷支付“服务,并配置服务器...2. 调用plus.payment.request()发起支付请求。示例代码12345678910111...

    HBuilder 基座已实现H5 plus的支付API,现已集成支付宝快捷支付平台。使用支付功能前必须在支付宝网站开通”快捷支付“服务,并配置服务器生成订单信息。

    开发指导

    支付流程如下:
    支付流程图

    plus API使用步骤:
    1. 调用plus.payment.getChannels()获取系统支持的支付通道;
    2. 调用plus.payment.request()发起支付请求。

    示例代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    var  channel= null ;
    // 1. 获取支付通道
    function plusReady(){
         // 获取支付通道
         plus.payment.getChannels(function(channels){
             channel=channels[0];
         },function(e){
             alert( "获取支付通道失败:" +e.message);
         });
    }
    document.addEventListener( 'plusready' ,plusReady, false );
     
    var  ALIPAYSERVER= 'http://demo.dcloud.net.cn/helloh5/payment/alipay.php?total=' ;
    var  WXPAYSERVER= 'http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=' ;
    // 2. 发起支付请求
    function pay(id){
         // 从服务器请求支付订单
         var  PAYSERVER= '' ;
         if (id== 'alipay' ){
             PAYSERVER=ALIPAYSERVER;
         } else  if (id== 'wxpay' ){
             PAYSERVER=WXPAYSERVER;
         } else {
             plus.nativeUI.alert( "不支持此支付通道!" , null , "捐赠" );
             return ;
         }
         var  xhr= new  XMLHttpRequest();
         xhr.onreadystatechange=function(){
             switch (xhr.readyState){
                 case  4:
                 if (xhr.status==200){
                     plus.payment.request(channel,xhr.responseText,function(result){
                         plus.nativeUI.alert( "支付成功!" ,function(){
                             back();
                         });
                     },function(error){
                         plus.nativeUI.alert( "支付失败:"  + error.code);
                     });
                 } else {
                     alert( "获取订单信息失败!" );
                 }
                 break ;
                 default :
                 break ;
             }
         }
         xhr.open( 'GET' ,PAYSERVER);
         xhr.send();
    }

      

    注:第二步中获取到的订单数据需要在服务器通过支付宝平台获取PID和密钥生成。

    HBuilder应用配置

    分享插件添加方法具体步骤如下:
    1. 点击manifest.json文件的“代码视图”,在permissions节点下添加Payment节点:
    manifest.json添加支付权限


    1. 在plus -> distribute -> plugins 节点下添加payment节点:
      manifest.json添加支付权限
      alipay节点下配置支付宝相关信息
      scheme值为iOS平台调用支付宝的“快捷支付”应用返回时用到的标识,推荐使用小写字符串。
      weixin节点下配置微信支付相关信息
      appid值为在微信开放平台申请应用的AppID值。
      appleiap节点下配置苹果应用内支付相关信息
      在HBuilder基座中无法使用此支付通道,需要提交云端打包才可使用。

    支付宝功能申请


    1. 登录支付宝账号,签约申请“移动快捷支付”功能,操作流程参考:
    2. 支付宝帮助中心  https://cshall.alipay.com/enterprise/index.htm
    3. 获取PID,参考教程:
      获取合作者身份ID  https://help.alipay.com/support/help_detail.htm?help_id=396880&keyword=%B2%E9%D1%AF
    4. 生成密钥(公钥和私钥),并提交到支付宝,参考教程:
      生成RSA密钥 https://help.alipay.com/support/help_detail.htm?help_id=397433&keyword=%C3%DC%D4%BF
      上传公钥 https://help.alipay.com/support/help_detail.htm?help_id=477353&keyword=%C9%CC%BB%A7%B9%AB%D4%BF

    服务器生成订单示例(PHP)
    参考开源示例代码github-支付宝 https://github.com/dcloudio/H5P.Server/tree/master/payment/alipay
    C#生成支付宝订单示例 http://ask.dcloud.net.cn/article/197

    微信支付功能申请


    1. 使用微信支付功能需到微信开放平台申请移动应用并开通支付功能
      微信APP支付接入商户服务中心  https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
      申请应用后可以获取AppID和AppSecret值。

    2. 开通支付功能后可获取支付业务服务器配置数据
      PARTNER:财付通商户号
      PARTNER_KEY:财付通密钥
      PAYSIGNKEY:支付签名密钥

    参考开源示例代码github-微信支付  https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3

    应用内支付(IAP)使用说明

    IOS 应用内支付接口使用说明 http://ask.dcloud.net.cn/article/497


    1.先上图片,由于mui自己集成了支付宝,所以不需要配置sdk和获取appid,微信配置有些小细节,不注意就会出错,在这里微信支付只能调用一次,详情看下去在特别注意里

    <!DOCTYPE html> 
    <html> 
        <head> 
            <meta charset="UTF-8"> 
            <title>支付</title> 
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> 
            <link rel="stylesheet" href="css/mui.min.css" /> 
            <script type="text/javascript" src="js/mui.min.js"></script> 
            <style type="text/css"> 
                .top {  
                    margin-top: 40px;  
                }  
                .weixin {  
                    width: 200px;         
                    height: 50px;   
                    margin-left: 50px;  
                    background: url(../images/icon-weixin.png);     
                }  
                .zhifubao {  
                    width: 200px;  
                    height: 50px;  
                  
                   margin-left: 50px;  
                    background: url(../images/alipay.jpg);    
                }  
     
                #jine{ 
                    -webkit-user-select:text; 
                    text-align:right; 
                    padding:0 1em; 
                    border: 0px; 
                    border-bottom:1px solid #ECB100; 
                    border-radius: 0; 
                    font-size:16px; 
                    width:30%; 
                    outline:none; 
                    text-align:center; 
                } 
                 
            </style> 
        </head> 
        <body> 
             <hrader class="mui-bar mui-bar-nav"> 
                 <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> 
                 <h1 class="mui-title">第三方支付</h1> 
             </hrader> 
              
             <div class="mui-content"> 
                   
                   
                    捐赠金额:<input id="jine" type="number" value="1" /> 元 
                 
                   
                    <div class="top" id="testLogin" > 
                        <input type="button" class="weixin" id="weixin1" value="微信支付" /> 
                        <input type="button" class="zhifubao" id="zhifubao" value="支付宝支付" /> 
                         
                    </div> 
     
                      
     
             </div> 
               <script> 
                   var wxChannel = null; // 微信支付  
                var aliChannel = null; // 支付宝支付  
                var channel = null;   //支付通道 
                mui.init({  
                    swipeBack:true //启用右滑关闭功能  
                });  
                 
                 mui.plusReady(function() {    
                // 获取支付通道  
                    plus.payment.getChannels(function(channels){  
                    for (var i in channels) { 
                            if (channels[i].id == "wxpay") { 
                                 wxChannel=channels[i];  
                            }else{ 
                                aliChannel=channels[i];  
                            } 
                        }     
                    },function(e){  
                     alert("获取支付通道失败:"+e.message);  
                    });  
            })  
      
            document.getElementById('weixin1').addEventListener('tap',function() {  
                console.log("微信");  
                pay('wxpay');  
            })  
            document.getElementById('zhifubao').addEventListener('tap',function() {  
                console.log("zhifubao");  
                pay('alipay');   
            })  
      
            var ALIPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/alipay.php?total=';  
            var WXPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=';  
            
            // 2. 发起支付请求  
            function pay(id){  
                    // 从服务器请求支付订单  
                    var PAYSERVER='';  
                    if(id=='alipay'){  
                    PAYSERVER=ALIPAYSERVER;  
                    channel = aliChannel;  
                }else if(id=='wxpay'){  
                        PAYSERVER=WXPAYSERVER;  
                        channel = wxChannel;  
                    }else{  
                        plus.nativeUI.alert("不支持此支付通道!",null,"捐赠");  
                        return;  
                 }  
                    var xhr=new XMLHttpRequest();  
                     var amount = document.getElementById('jine').value; 
                    
                    xhr.onreadystatechange=function(){  
                        switch(xhr.readyState){  
                            case 4:  
                            if(xhr.status==200){  
                                plus.payment.request(channel,xhr.responseText,function(result){  
                                    plus.nativeUI.alert("支付成功!",function(){  
                                    back();  
                                });  
                                },function(error){  
                                    plus.nativeUI.alert("支付失败:" + error.code);  
                                });  
                            }else{  
                                alert("获取订单信息失败!");  
                            }  
                            break;  
                        default:  
                        break;  
                    }  
             }  
                xhr.open('GET',PAYSERVER+amount);  
                xhr.send();  
                
        }  
         
               </script>   
         <script type="text/javascript" src="js/immersed.js" ></script> 
        </body> 
    </html>

    3.重点看这里关于配置和质疑问题

    如下图

    点击manifest.json文件的“代码视图”,在permissions节点下添加Payment节点:

    如下图

    在plus -> distribute -> plugins 节点下添加payment节点:

    如下图

    4.特别注意

    1.由于mui集成了支付宝插件,所以支付宝支付不需要配置就可以, 
     
    2,。注意微信weixin节点下配置微信支付相关信息 
     
    appid值为在微信开放平台申请应用的AppID值。(微信开放平台不是微信公众号平台申请的appid) 
     
    因为我在微信公众号申请的也不知到什么原因只成功调取一次,其余失败。 
     
    5.由于项目需要我会等后台完善后,在总结一份

    展开全文
  • HBuilder 基座已实现H5 plus的支付API,现已集成支付宝快捷支付平台。使用支付功能前必须在支付宝网站开通”快捷支付“服务,并配置服务器生成订单信息。...2. 调用plus.payment.request()发起支付请求。
  • //创建API对应的request alipayRequest.setReturnUrl("http://domain.com/CallBack/return_url.jsp"); alipayRequest.setNotifyUrl("http://domain.com/CallBack/notify_url.jsp");//在公共参数中设置回跳和通知地址...
  • H5+微信支付

    2018-10-13 18:59:41
    根据获取的数据,调起支付接口 plus.payment.request 去支付 ,错误信息,,没有调起微信支付页面(错误信息 {"code":-100,"message":"[payment微信:-1]General errors"} )
  • 1 在页面onload中获取支付通道,支付的时候再获取支付通道会浪费用户等待时间:// 获取支付...plus.payment.getChannels(function(channels) {for(var i in channels) {if(channels[i].id == "wxpay") {wxChannel = ...
  • 注:如果更新时plus.runtime用的install,需要在manifest.json里权限配置里勾选以下两个 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission and..
  • 微信或支付宝支付

    2018-09-13 22:30:00
    function plusReady() { plus.payment.getChannels(function(channels) { var content = document.getElementById('dcontent'); var txt = "支付通道信息:"...
  • # [payment]()Payment模块管理支付功能,用于提供网页安全支付能力,支持...### 方法:- [getChannels](http://www.dcloud.io/docs/api/zh_cn/payment.shtml#plus.payment.getChannels): 获取支付通道- [request](...
  • //%{SERVER_NAME}%{REQUEST_URI} [R=301]  To force HTTPS on some pages: RewriteCond  % {HTTPS} off RewriteCond  % {REQUEST_URI}  ( auth | register | secure ) RewriteRule  ^(.*)$  ...
  • 支付MUI前端部分 var wxChannel = null; // 微信支付 var aliChannel = null; // 支付宝支付 //1....mui.plusReady(function() { plus.payment.getChannels(function(channels) { for (var i in cha...
  • var wxChannel = null; // 微信支付 var aliChannel = null; // 支付宝支付 ...plus.payment.getChannels(function(channels) { for (var i in channels) { if (channels[i].id == "wxpay") { ...
  • cement the payment o

    2015-09-02 14:15:36
    cement, the payment of project: the main cap to pay 40%, Basic knowledge for reference: cultural knowledge (4)..Tianjin open recruitment of civil servants in 2015 civil service personnel to...
  • 调用支付宝

    2017-08-18 11:22:08
    var pays = {}; var w = null; mui.plusReady(function() { // $.init({});... plus.payment.getChannels(function(channels) { //获取支付通道 for(var i in channels) { var channel = channels[i]
  • 记录一下 vue import router from '../router/index' let Pay = new Object(); Pay.getPay = function(data,type) { // console.log("pay",data,type);... plus.payment.getChannels(function(channels
  • mui实现APP中的支付宝支付

    千次阅读 2019-01-02 19:14:10
    mui实现APP中的支付宝支付初始化获取支付通道 初始化获取支付通道 我用的是vue,首先先引入mui,hbuilder中设置支付宝支付,这里不再叙述。... plus.payment.getChannels(function(channels){ that.al...
  • 4、App接入微信支付,使用hbuilder中的支付 (1)支付配置参考... (2)在触发支付事件中添加代码 // 获取支付通道 plus.payment.getChannels(function(channels) { for (var i in channels...
  • 1、微信开放平台中创建移动app,得到该移动app的appid,在进行微信支付配置时使用。2、hbuildermanifest.json文件-模块配置-勾选微信登录,填入appid、app... // 微信支付//获取支付通道plus.payment.getChannels(...
  • IOS 内购 苹果Windows ... plus.payment.getChannels((channels) => { console.log('判断是否是苹果支付', channels) for (var i in channels) { // 判断是否苹果支付 if (channels[i].id ===
  • if(xhr.status==200){ plus.payment.request(channel,xhr.responseText,function(result){ plus.nativeUI.alert("支付成功!",function(){ back(); }); },function(error){ plus.nativeUI.alert("支付失败:" + ...
  • mui调用微信支付和支付宝支付 ... plus.payment.getChannels(function(channels){ aliChannel=channels[0]; wxChannel=channels[1]; },function(e){ alert("获取支付通道失败:"+e.message); });
  • // #ifdef APP-PLUS uni.showLoading({title: '加载中',}) uni.request({ url: getApp().globalData.https + '/wap.php/Order/pay_course_order',//支付订单接口链接 data: { oid:data.oid,//订单号 }, ...
  • hbuilder 调起applePay支付 项目流程, 1,vue 编写基本项目。...通过 plus.payment.getChannels 获取支付通道放在created() 生命周期里 plusReady() { let _this = this; // uni - app中将此fun
  • Plus的全栈

    2021-03-17 21:20:44
    builder.Property(x => x.PaymentType) .HasColumnName("payment_type") .HasColumnType("NVARCHAR(50)") .IsRequired(); builder.Property(x => x.CreatedDate) .HasColumnName("created_date") .HasColumnType(...
  • plantUml 中文指南 plus

    2020-07-19 12:34:56
    用简单语言绘制有用的uml plantuml 1....Alice : Yet another authentication Request Bob [000]" Bob -> Alice : Authentication Request Bob (##)" Bob -> Alice : Another authentication Request Bob ...
  • 漏洞版本: ...plus/carbuyaction.php里没有对变量进行严格的过滤 出现漏洞的两个文件为: Include/payment/alipay.php Include/payment/yeepay.php 漏洞均出现在respond方法里 Include/payme...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 966
精华内容 386
关键字:

plus.payment.request