Melaksanakan permulaan pembayaran WeChat dan pertanyaan dalam PHP

WBOY
Lepaskan: 2023-05-13 22:32:01
asal
1200 orang telah melayarinya

Dengan populariti pembayaran WeChat, semakin banyak tapak web perlu menyepadukan fungsi pembayaran WeChat. Dalam artikel ini, kami akan membincangkan cara melaksanakan permulaan dan pertanyaan pembayaran WeChat dalam PHP.

  1. Panggil API pesanan bersatu

Untuk memulakan pembayaran WeChat dalam PHP, langkah pertama ialah memanggil API pesanan bersatu pembayaran WeChat untuk menjana pesanan prabayaran. API perlu lulus beberapa parameter yang diperlukan, termasuk ID pedagang, jumlah pembayaran, nombor pesanan, URL panggilan balik, dsb. Berikut ialah kod sampel:

<?php
  require_once('WxPayApi.php');
  require_once('WxPayUnifiedOrder.php');
  
  $order = new WxPayUnifiedOrder();
  $order->SetBody('商品描述');
  $order->SetOut_trade_no('订单号');
  $order->SetTotal_fee('支付金额');
  $order->SetNotify_url('回调URL');
  $order->SetTrade_type('JSAPI');
  $order->SetOpenid('用户OpenID');
  
  $result = WxPayApi::unifiedOrder($order);
Salin selepas log masuk
  1. Dapatkan maklumat pesanan prabayar

Selepas menghubungi API pesanan bersatu, kami perlu mendapatkan maklumat pesanan prabayar, termasuk transaksi prabayaran Sesi ID (prepay_id) dan parameter lain yang diperlukan. Berikut ialah kod sampel:

<?php
  require_once('WxPayApi.php');
  require_once('WxPayData.php');
  
  $input = new WxPayData();
  $input->SetBody('商品描述');
  $input->SetOut_trade_no('订单号');
  $input->SetTotal_fee('支付金额');
  $input->SetNotify_url('回调URL');
  $input->SetTrade_type('JSAPI');
  $input->SetOpenid('用户OpenID');
  
  $result = WxPayApi::unifiedOrder($input);
  $prepay_id = $result['prepay_id'];
  $params = [
    'appId' => $result['appid'],
    'timeStamp' => time(),
    'nonceStr' => $result['nonce_str'],
    'package' => "prepay_id={$prepay_id}",
    'signType' => 'MD5'
  ];
  $params['paySign'] = WxPayApi::getSign($params);
Salin selepas log masuk
  1. Lompat ke halaman pembayaran

Selepas mendapatkan maklumat pesanan prabayaran, kami boleh menghantar parameter yang diperolehi ke bahagian hadapan untuk membenarkan pengguna Mulakan pembayaran dalam pelanggan WeChat. Berikut ialah contoh kod:

<?php
  echo '<script language="javascript">';
  echo 'WeixinJSBridge.invoke("getBrandWCPayRequest", {
    "appId":"'.$params['appId'].'",
    "timeStamp":"'.$params['timeStamp'].'",
    "nonceStr":"'.$params['nonceStr'].'",
    "package":"'.$params['package'].'",
    "signType":"'.$params['signType'].'",
    "paySign":"'.$params['paySign'].'"
  }, function(res){
    if(res.err_msg == "get_brand_wcpay_request:ok" ){
      alert("支付成功");
    }else{
      alert("支付失败");
    }
  });';
  echo '</script>';
Salin selepas log masuk
  1. Pertanyaan keputusan pembayaran

Selepas pembayaran selesai, kami perlu menyoal keputusan pembayaran untuk memastikan transaksi telah selesai dengan jayanya. Berikut ialah contoh kod:

<?php
  require_once('WxPayApi.php');
  
  $input = new WxPayOrderQuery();
  $input->SetOut_trade_no('订单号');
  
  $result = WxpayApi::orderQuery($input);
  if ($result['trade_state'] == 'SUCCESS') {
    echo '支付成功';
  } else {
    echo '支付失败';
  }
Salin selepas log masuk

Ringkasan:

Di atas ialah keseluruhan proses memulakan dan menanyakan pembayaran WeChat dalam PHP. Apabila kami perlu menyepadukan pembayaran WeChat di tapak web, kami boleh mengikuti langkah di atas. Adalah disyorkan untuk menggunakan SDK yang disediakan secara rasmi untuk pembangunan, yang boleh menjimatkan banyak masa dan tenaga.

Atas ialah kandungan terperinci Melaksanakan permulaan pembayaran WeChat dan pertanyaan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!