小程序支付直接返回php,PHP小程序支付

本文介绍了如何在小程序中实现微信支付的详细步骤,包括从用户下单到支付完成的整个流程,并展示了核心的PHP代码,涉及统一下单接口、支付参数签名等关键环节。
摘要由CSDN通过智能技术生成

♦先看本节效果图

7c17b4c1ae45

详细说明请看微信支付官方开发文档:

1. 用户在小程序内下单,选择微信支付;

2. 商户在小程序中调用小程序登录API,获得参数code;

3. 小程序端向商户后台发起接口调用,并将code及订单相关参数一起发送到商户后台。

4. 商户后台接收小程序发送的code和订单相关参数,并结合appid,secret两个参数,获取openid;

5. 商户后台根据订单信息,调用统一下单接口;

6. 统一下单接口返回预支付信息,商户后台获取预支付信息,并进行再次签名,返回支付参数(5个参数和sign)给小程序;

7. 小程序获得支付参数,发起支付请求;

8. 用户输入支付密码,支付完成;

9. 微信后台向商户后台发出异步通知,同时给小程序回调支付结果;

10.商户后台接收微信发送到异步通知,并进行相关业务处理,并返回SUCCESS或FAIL的标志以告知微信;

11.小程序获取支付回调结果,并向商户后台发起接口请求,获取订单状态;并进行支付成功或失败对应的页面跳转。

业务流程图

7c17b4c1ae45

♦核心代码就下面这些

♦新建Pay.php文件

//支付接口

class Pay {

/*

* 小程序微信支付*/

protected $appid;

protected $mch_id;

protected $key;

protected $openid;

protected $out_trade_no;

protected $body;

protected $total_fee;

function __construct($appid, $openid, $mch_id, $key,$out_trade_no,$body,$total_fee) {

$this->appid = $appid;

$this->openid = $openid;

$this->mch_id = $mch_id;

$this->key = $key;

$this->out_trade_no = $out_trade_no;

$this->body = $body;

$this->total_fee = $total_fee;

}

public function pay() {

//统一下单接口

$return = $this->weixinapp();

return $return;

}

//统一下单接口

private function unifiedorder() {

$url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';

$parameters = array(

'appid' => $this->appid, //小程序ID

'mch_id' => $this->mch_id, //商户号

'nonce_str' => $this->createNoncestr(), //随机字符串

'body' => $this->body,

'out_trade_no'=> $this->out_trade_no,

//'total_fee' => floatval(0.01 * 100), //总金额 单位 分

'total_fee' => $thi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值