小程序微信支付

技术小程序微信支付 小程序微信支付实现前布置
1:下载官方微信支付SDK(‘https://pay.weixin.qq.com/wiki/doc/api/index.html’)
2:引入开发框架(我写

小程序微信支付

实现前布置

1:下载官方微信支付SDK(' https://支付。微信。QQ。com/wiki/doc/API/index。html’)

2:引入开发框架(我写的是微信小程序支付)

话不多说直接上代码

3:控制器方法

公共函数GetPayOrder(){ 0

尝试{

$ tools=new \ JSapiPay();

//$ OpenID=$ tools-GetOpenID();

$ openId=$ open _ id

//、统一下单

$ input=new \ wxpayunifieorder();

$ input-SetBody(" ");

$ input-SetAttach(" ");

$ input-Setout _ trade _ no(');

$ input-SetTotal _ fee(' ');

$ input-SetTime _ start(date(' YmdHis '));

$ input-SetTime _ expire(date(' YmdHis ',time()600));

$ input-SetGoods _ tag(' ');

$input-SetNotify_url('你的回调方法');

$ input-set rade _ type(' JSAPI ');

$ input-SetUnid(" ");

$ config=new \ WxPayConfig();

$ order=\ wxpayapi :3360统一订单($ config,$ input);

$ printf _ info=$ this-printf _ info($ order);

$ jsApiParameters=$ tools-GetJsApiParameters($ order);

返回$ jsApiParameters

}捕获(异常$ e){ 0

\ log :错误(JSON _ encode($ e));

}

}

不清除的参数可以查看SDJ的源代码

4:回调方法

公共函数索引(请求$请求)

{

//可以先查看日志

//FILE _ put _ contents(' notify。txt ','- \r\n ',FILE _ APPEND);

//$ data=file _ get _ contents(' PHP ://input ');

//file _ put _ contents(' notify。txt ','收到异步通知:' .json_encode($data).\r\n ',FILE _ APPEND);

$ test XML=file _ get _ contents(' PHP ://input ');

$ JSON XML=JSON _ encode(SimpleXML _ load _ string($ test XML,' SimpleXMLElement ',LIBXML _ NOCDATA));

$result=json_decode($jsonxml,true);//转成数组,

//如果成功返回了

if($ result[' return _ code ']==' SUCCESS ' $ result[' result _ code ']==' SUCCESS '){ }

//告诉微信服务器,我已经接收到成功的通知了,你不要再发送了

echo 'xmlreturn_code![CData[SUCCESS]]/return _ codereturn _ msg![CData[确定]]/return _ msg/XML ';

//处理自己的业务逻辑

}

}

5:微信小程序代码

wx。请求({ 0

url: '请求的地址,

数据:产品,

方法: '开机自检,

成功: RES={ 0 }

wx.hideLoading()

vardata=res.data

wx。请求付款({ 0

noncrest :数据。非休息,

package:data.package,

付款标志:数据。付款标志,

timeStamp:data.timeStamp,

signType:data.signType,

成功()

wx.hideLoading()

wx。SwitCh TAb({ 0

url: './个人/索引/索引,

})

},

失败(错误)

wx。显示加载({ 0

标题: '已取消支付,

})

wx.hideLoading()

wx。SwitCh TAb({ 0

url: './个人/索引/索引,

})

}

})

},

失败: RES={ 0 }

wx。ShowToast({ 0

标题: '网络异常,

图标: '加载,

工期:1000

})

}

})

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/79559.html

(0)

相关推荐

  • 水垢太厚怎么去除,喝水的时候水垢太多了怎么办

    技术水垢太厚怎么去除,喝水的时候水垢太多了怎么办用醋的方法比较普遍水垢太厚怎么去除、简单 ①水壶煮山芋除垢 在新水壶内,
    放半水壶以上的山芋,加满水,将山芋煮熟,以后再烧水,就不会积水垢了。但要注意水壶煮山芋后,内

    生活 2021年10月21日
  • 关于stm2cumx生成的串口通信USART的使用,2)

    技术关于stm2cumx生成的串口通信USART的使用,2) 关于stm2cumx生成的串口通信USART的使用(2)上面一篇文章讲到在stm32cumx开启串口中断后,系统每接收一个字符就会进入中断一

    礼包 2021年11月29日
  • 金牛座和什么星座最配,与金牛座最配的星座是哪些

    技术金牛座和什么星座最配,与金牛座最配的星座是哪些金牛座 VS 牡羊座 配对评分金牛座和什么星座最配:70 还满不错的一对 星座比重:46:54 你们是很奇特的一对,白羊是急惊风,一想到就非要马上行动不可;金牛则是慢郎中

    生活 2021年10月26日
  • spring集成mybatis依赖配置

    技术spring集成mybatis依赖配置 spring集成mybatis依赖配置dependencies
    !-- 测试依赖--dependencygroupIdjunit/groupIdarti

    礼包 2021年10月27日
  • SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的

    技术SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的今天就跟大家聊聊有关SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的,可能很多人都不太了解,为了让大家更加了

    攻略 2021年11月30日
  • C++为什么构造函数中应该做的是初始化而不是赋值

    技术C++为什么构造函数中应该做的是初始化而不是赋值本篇内容介绍了“C++为什么构造函数中应该做的是初始化而不是赋值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

    攻略 2021年11月29日