Dcloud中mui 微信支付和支付宝支付接口完美实现付款代码(PHP支付宝demo)

简介: Dcloud中mui 微信支付和支付宝支付接口完美实现付款代码(PHP支付宝demo),官网上下载的一直报‘创建订单错误‘和各种报错,于是自己就试着写了一个demo,亲测,可用。
Dcloud中mui 微信支付和支付宝支付接口完美实现付款代码(PHP支付宝demo),官网上下载的一直报‘创建订单错误‘和各种报错,于是自己就试着写了一个demo,亲测,可用。

演示可以参考这里:http://www.erdangjiade.com/php/2475.html

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.由于项目需要我会等后台完善后,在总结一份

相关文章
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
619 11
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
11月前
|
JSON 运维 安全
当“企业微信iPad协议”潜入深夜值班室:一段代码引发的零号群风暴
深夜突现群聊异常,运维紧急排查发现:有人利用企业微信iPad协议将群控脚本植入系统,导致用户被反复踢出。追溯根源,为降本增效,团队此前绕开官方接口,自建网关解析iPad协议事件流,实现群自动化。但协议高自由度伴生风险,一次逻辑误判便引发雪崩。经加固幂等性、引入审计队列与双重签名,终控危机。技术无畏,亦需敬畏——能力越强,责任越重。
709 3
|
算法 iOS开发 CDN
“企业微信iPad协议”第 0x04 天:当朋友圈接口在凌晨 2:14 突然返回 404
新品上线紧急任务:300位经销商朋友圈同步海报。突破官方限制,利用企业微信iPad协议私有接口,自动化上传发布。凌晨遭遇404,迅速定位并修复算法版本问题,最终高效完成推送,点赞超4200。技术在文档之外,也在边界之内。
529 0
|
Shell Android开发 Python
微信多开脚本,微信双开器脚本插件,autojs开源代码分享
AutoJS脚本实现安卓端微信多开,通过无障碍服务 Python脚本提供跨平台解决方案,自动检测微信安装路径
|
iOS开发
“企业微信iPad协议”第0x0B次编译:当朋友圈接口在凌晨悄然返回空数组
新品海报发布失败,排查发现企业微信iPad端因本地时间偏差超60秒,导致`ext_ticket`校验失败。NTP校准后恢复正常。问题根源:独立加签逻辑对时间敏感,且错误不提示。精准时间成合规关键。
645 0
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
624 2
|
XML 数据处理 数据安全/隐私保护
微信卡片生成器在线制作,微信xml链接代码,xml卡片生成器
这段代码实现了一个完整的数据处理程序,包含主程序、数据处理模块和工具模块。主程序负责启动和异常处理
微信养号脚本,导入手机号自动添加,autojs代码分享
这段代码实现了基本的微信自动添加好友功能,包括读取手机号文件、启动微信、搜索用户和发送
|
PHP 数据库
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常

热门文章

最新文章