微信支付--代金券免充值代金券:接口升级

微信支付–代金券免充值代金券
开通免充值代金券需 进行接口升级:
https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf
接口升级组合: 103+104+105

进行接口升级组合调用前 获取沙箱秘钥:
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=23_1

<?php

//生成随机字符串
function generateNonceStr($length = 32)
{
   
    // 密码字符集,可任意添加你需要的字符
    $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
    $str = "";
    for ($i = 0; $i < $length; $i++) {
   
        $str .= $chars[mt_rand(0, strlen($chars) - 1)];
    }
    return $str;
}

$paykey = '';//api的key值
$mch_id = '';//商户号
$url = "https://apitest.mch.weixin.qq.com/sandboxnew/pay/getsignkey";
$nonce_str = generateNonceStr();//随机字符串

$data = [
    'mch_id'=>$mch_id,
    'nonce_str'=>$nonce_str,
];


ksort($data);
//签名前完整字符串
$stringA = '';
foreach ($data as $key => $v) {
   
    if (is_array($data[$key])) {
   
        $stringA .= $key . '=' . $data[$key].'&';
        $data[$key] = $data[$key];
    } else {
   
        $stringA .= $key . '=' . $v.'&';
    }
}

$stringSignTemp=$stringA."key=$paykey"; //注:key为商户平台设置的密钥key
$sign=strtoupper(MD5($stringSignTemp));//注:MD5签名方式

$xml_data = "<xml>
	<mch_id>$mch_id</mch_id>
	<nonce_str>$nonce_str</nonce_str>
	<sign>$sign</sign>
</xml>";

echo "<pre>";
print_r($xml_data);
echo "</pre>";

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => $xml_data,
    CURLOPT_HTTPHEADER => array(
        'Content-Type: application/xml'
    ),
));

$response = curl_exec($curl);
curl_close($curl);
$obj = simplexml_load_string($response,"SimpleXMLElement", LIBXML_NOCDATA);
$arr = json_decode(json_encode($obj),true);

echo "<pre>";
print_r($arr);
echo "</pre>";

if($arr["return_code"]=="SUCCESS"){
   
    echo $arr["sandbox_signkey"];
}

Array
(
    [return_code] => SUCCESS
    [return_msg] => ok
    [sandbox_signkey] => ea4c9717cd45d11f8351b373dd74cd27
)




?>

103:下单 与 查询

<?php
/**
 * 下单
 */

 $sandbox_signkey = "";

    $ip = $_SERVER['REMOTE_ADDR'];//终端IP
    $time = date('mdHis');
    $req_seq =  date('ymdHis'). rand(100, 999); //流水号
    $mch_id="";//商户号
//生成随机字符串
    function generateNonceStr($length = 32)
    {
   
        // 密码字符集,可任意添加你需要的字符
        $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
        $str = "";
        for ($i = 0; $i < $length; $i++) {
   
            $str .= $chars[mt_rand(0, strlen($chars) - 1)];
        }
        return $str;
    }

    $appid = "";
    $openid = "";
    $nonce_str = generateNonceStr();//随机字符串
    $body = "会员余额充值";//商品描述
    $out_trade_no=$req_seq;//商户订单号
//$total_fee=$_POST["money"]*100;//标价金额
    $total_fee="552"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值