javascript - Pembayaran WeChat: H5 memanggil API pembayaran dan terus mengatakan bahawa pembayaran gagal
巴扎黑
巴扎黑 2017-05-17 10:04:16
0
4
849
  1. Saya menggunakan java untuk membangunkan fungsi pembayaran akaun rasmi WeChat, menggunakan fungsi pembayaran dalaman akaun rasmi

Dalam langkah pertama, antara muka pesanan bersatu telah dilaraskan, dan prabayar_id boleh diperolehi (kod akan disiarkan di bawah, bagaimanapun, apabila menghubungi API pembayaran melalui JS, pemulangan langsung adalah kegagalan, dan halaman). tidak memanggil WeChat Tetingkap pembayaran berkelip, Malah, kawalan pembayaran tidak dilaraskan sama sekali, dan saya tidak tahu apa yang salah saya hanya boleh menghubunginya pada telefon bimbit saya untuk melihatnya, dan saya tidak boleh menjalankan siasatan susulan Data daripada amaran adalah kegagalan langsung Kod JS adalah seperti berikut

function onBridgeReady(){
    
    var param = {};
    param.openid = openid;
    param.orderAmount = 11;
    param.stageid = 2007;
    
    console.log(param);
    
    //通过下面接口获取统一下单接口参数
    var url = puburl + "/wxpay/createOrderinfo";
    var data = ajaxUtil.ajaxJson(url, JSON.stringify(param));
    console.log(data);
    if(data.code != 0) {
        console.log(data);
        return false;
    }
    
    var result = data.data;
    alert(JSON.stringify(result));
    
    //上面接口已经获取接口需要的数据,
    //根据微信官方提供的demo就是通过下面方式进行参数赋值
    WeixinJSBridge.invoke(
       'getBrandWCPayRequest', {
           "appId":result.appId,
           "timeStamp":result.timeStamp,
           "nonceStr":result.nonceStr,
           "package":result.prepay_id,     
           "signType":result.signType,     
           "paySign":result.paySign
        }, function(res){
               
               //可是程序走到这一步
               //打印出 res.err_msg的结果直接就是:get_brand_wcpay_request:fail
               //只能在手机上调试,无法查看具体错误原因
               alert(res.err_msg);
            // 使用以上方式判断前端返回,
            //微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,
            //但并不保证它绝对可靠。
            if(res.err_msg == "get_brand_wcpay_request:ok" ) {
                alert("支付成功!")
            } else if(res.err_msg == "get_brand_wcpay_request:cancel") {
                alert("支付取消!");
            } else if(res.err_msg == "get_brand_wcpay_request:fail") {
                alert("支付失败!");
            }
        }
    );
}

if (typeof WeixinJSBridge == "undefined"){
   if( document.addEventListener ){
       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
   }else if (document.attachEvent){
       document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
   }
}else{
   onBridgeReady();
}

Saya harap anda semua dapat melihat apa masalahnya Jika spesifiknya tidak diterangkan dengan jelas, sila nyatakan dan saya akan menerangkan atau menyiarkan kod tersebut

Tambahan: Direktori kebenaran pembayaran yang dikonfigurasikan dan laluan ke halaman pembayaran adalah konsisten Ini telah disahkan dengan teliti dan tiada masalah!

巴扎黑
巴扎黑

membalas semua(4)
为情所困

Sayang, adakah URL kebenaran pembayaran WeChat anda dikonfigurasikan dengan betul? Selain itu, http dan https mesti sepadan dengan ketat

曾经蜡笔没有小新

Adakah pesanan Tune-in dibuat dengan jayanya? Jika berjaya, semak untuk melihat sama ada tandatangan itu betul, kemudian semak konfigurasi direktori pembayaran. Apakah gesaan khusus yang dikembalikan oleh WeChat?

phpcn_u1582

Dalam kes ini, sama ada tandatangan salah atau laluan pembayaran salah.
Sekiranya gagal, taipkan keseluruhan res, dan WeChat akan mengembalikan maklumat lain, bukan hanya err_msg

Adakah parameter pakej anda salah? Nilai parameter ialah prepay_id=xxx

小葫芦

cap masa: 0, // Cap masa tandatangan pembayaran Ambil perhatian bahawa semua medan cap masa yang digunakan dalam WeChat jssdk adalah huruf kecil. Walau bagaimanapun, nama medan TimeStamp yang digunakan oleh versi terkini latar belakang pembayaran untuk menjana tandatangan perlu menggunakan huruf besar S

Saya tidak tahu sama ada ia berlaku di ladang?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan