Panduan antara muka pembayaran antara PHP dan Program Mini
Dengan populariti pembayaran mudah alih, semakin ramai peniaga mula menggunakan Program Mini sebagai salah satu saluran jualan utama mereka. Untuk melaksanakan fungsi pembayaran program mini, ia perlu disambungkan ke antara muka pembayaran yang sepadan. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk menyambungkan antara muka pembayaran program mini dan melampirkan contoh kod untuk rujukan.
function createSign($params, $key){ ksort($params); //按照参数名ASCII码从小到大排序 $string = ''; foreach($params as $k => $v){ if($v != '' && $k != 'sign'){ $string .= $k . '=' . $v . '&'; } } $string .= 'key=' . $key; $string = md5($string); //签名加密 return strtoupper($string); //转换成大写 }
function createUnifiedOrder($mchid, $key, $appid, $openid, $out_trade_no, $total_fee){ $params = array( 'appid' => $appid, 'body' => '商品描述', 'mch_id' => $mchid, 'nonce_str' => md5(time()), 'notify_url' => '支付成功回调地址', 'openid' => $openid, 'out_trade_no' => $out_trade_no, 'spbill_create_ip' => $_SERVER['REMOTE_ADDR'], 'total_fee' => $total_fee, 'trade_type' => 'JSAPI' ); //生成签名 $params['sign'] = createSign($params, $key); //将数组转换为XML格式 $xml = '<xml>'; foreach($params as $k => $v){ $xml .= '<' . $k . '>' . $v . '</' . $k . '>'; } $xml .= '</xml>'; //向微信服务器发送请求 $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); $response = curl_exec($ch); curl_close($ch); //解析XML响应 $result = simplexml_load_string($response); $prepay_id = $result->prepay_id; //获取预支付交易会话标识 return $prepay_id; }
function getMiniProgramPayParams($mchid, $key, $appid, $openid, $out_trade_no, $total_fee){ $prepay_id = createUnifiedOrder($mchid, $key, $appid, $openid, $out_trade_no, $total_fee); $params = array( 'appId' => $appid, 'timeStamp' => time(), 'nonceStr' => md5(time()), 'package' => 'prepay_id=' . $prepay_id, 'signType' => 'MD5' ); //生成签名 $params['paySign'] = createSign($params, $key); return $params; }
Kesimpulan:
Melalui langkah di atas, kita boleh menggunakan bahasa PHP untuk menyambung ke antara muka pembayaran program mini untuk merealisasikan fungsi pembayaran mudah alih. Sudah tentu, dalam proses permohonan sebenar, pelarasan dan pengembangan yang sepadan perlu dibuat mengikut keperluan perniagaan tertentu. Saya berharap kandungan artikel ini akan membantu anda dan membolehkan anda melaksanakan fungsi pembayaran program mini dengan jayanya.
Atas ialah kandungan terperinci Panduan untuk dok antara muka pembayaran antara PHP dan program mini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!