本文章将写的是微信的app支付,安卓端app是用apicloud封装的,ios端是用原生的,在这里将项目里面的微信支付后台数据处理部分拿出来(顺便复习一下),
记录一下。
首先我们来看一下微信app官方给出的时序图:
下面直接上代码
public function wxorderOp(){
$dataArr = array(
'appid' => 'xxxx',
'mch_id' => 'xxxx',
'nonce_str' => $this->getNonceStr(),
'body' => $pay['pay_sn'],
'attach' => 'xxx',
'out_trade_no' => $pay['pay_sn'],
'total_fee' => 1,
'spbill_create_ip' => '111.85.159.16',
'notify_url' => 'xxxxxxxxxxx',//回调地址一定是要能访问到的
'trade_type' => 'APP'
);
$sign = $this->MakeSign($dataArr);//签名生成
$dataArr['sign'] = $sign;
$xmlStr = $this->createXML('xml', $dataArr);//统一下单xml数据生成
$reArr = explode('?>', $xmlStr);
$reArr = end($reArr);
$xml = $this->curl('https://api.mch.weixin.qq.com/pay/unifiedorder', $reArr);//发送请求 统一下单数据
//解析返回的xml字符串
$re = $this->xmlToObject($xml);
//判断统一下单是否成功
if ($re['result_code'] == 'SUCCESS') {
//支付请求数据
$payData = array(
'appid' => $re['appid'],
'partnerid' => $re['mch_id'],
'prepayid' => $re['prepay_id'],
'noncestr' => $this

最低0.47元/天 解锁文章
8755

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



