最近项目需要做微信支付的功能,想着把流程以及遇到的坑记录下来
1.到微信商户平台中去开通Native支付(产品中心-Native支付-申请开通)
2.微信商户平台中下载证书以及设置api密钥(账户中心-api安全),查看指引中很详细的说明了下载证书以及设置密钥的步骤。
3.微信商户平台中设置网页授权支付和支付回调url(产品中心-Native支付-开发配置)
4.微信公众平台中设置网页授权域名(公众号设置-功能设置-网页授权域名),这个微信里面也有详细的说明,照着做就行了。
到这里前期准备工作就做完了,现在可以进行开发了
1.下载好的证书放到项目中,我放的是extend/utils/wechart目录下
2.设置微信相关配置
3.调用Native支付接口,获取二维码链接,扫码付款后微信将信息回调到设置好的接口中,获取之后该干啥干啥。
class wxp extends Common
{
protected $payApi = [
'native' => 'https://api.mch.weixin.qq.com/v3/pay/transactions/native', //native支付
];
/**
* native支付
* @param $total int 支付金额
* @return mixed
*/
public function nativePay($total)
{
$order_code = 'WX' . $this->getOrderNo();
//生成订单
$order_data['order_code'] = $order_code;
$order_data['goods_money'] = $total;
$order_data['totalmoney'] = $total;
$order_data['person_id'] = $_REQUEST['person_id'];
$order_data['order_type'] = $_REQUEST['order_type'];
$order_data['pay_type'] = 1;
$order_data['create_time'] = time();
$order_data['status'] = 0;
$order_id = db('order')->insertGetId($order_data);
$detail_data['order_id'] = $order_id;
if ($_REQUEST['order_type'] == 1) {
if ($_
PHP微信支付Native模式实战指南

本文详细记录了使用PHP实现微信Native支付的全过程,包括开通Native支付、设置证书和API密钥、配置支付回调URL、设置授权域名等步骤,并重点指出在开发过程中遇到的坑,如正确获取支付成功后的数据和解决查询订单时签名错误的问题,旨在帮助开发者顺利进行微信支付集成。
最低0.47元/天 解锁文章
2752

被折叠的 条评论
为什么被折叠?



