Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah pelaksanaan PHP berkaitan pembayaran program mini WeChat

Kaedah pelaksanaan PHP berkaitan pembayaran program mini WeChat

WBOY
WBOYasal
2023-05-31 21:10:342789semak imbas

Dengan penggunaan meluas program mini WeChat, pembayaran program mini WeChat telah menjadi kaedah pembayaran yang diperlukan untuk semakin ramai peniaga. Untuk memudahkan peniaga mengakses fungsi pembayaran applet WeChat, artikel ini akan memperkenalkan kaedah pelaksanaan berdasarkan PHP.

1. Persediaan
Sebelum mengakses pembayaran program mini WeChat, anda perlu menyediakan langkah berikut:

1.1 Dapatkan nombor pedagang pembayaran WeChat dan kunci API
Nombor pedagang ialah pengecam unik yang digunakan oleh pedagang pada platform pembayaran WeChat, dan kunci API ialah kunci pembayaran yang dijana semasa memohon untuk pedagang dan digunakan untuk pengesahan tandatangan.
1.2 Konfigurasikan sijil pembayaran WeChat
Pedagang perlu meletakkan sijil pembayaran WeChat dalam direktori keselamatan pelayan dan menyediakan laluan sijil.
1.3 Bina pelayan HTTPS
WeChat Pay memerlukan pedagang menggunakan protokol HTTPS untuk penghantaran data, jadi sijil HTTPS perlu dikonfigurasikan pada pelayan.

2. Proses pembayaran Program Mini WeChat
Proses pembayaran Program Mini WeChat secara amnya merangkumi langkah-langkah berikut:

2.1 Pengguna membuat pesanan
Pengguna memilih produk dan membuat pesanan melalui Program Mini , applet menghantar maklumat pesanan kepada pelayan pedagang untuk diproses.
2.2 Pesanan Pelayan Saudagar
Selepas menerima permintaan pesanan pengguna, pelayan saudagar menjana pesanan prabayar dan mengembalikannya kepada program mini.
2.3 Program mini mengaktifkan pembayaran
Selepas menerima pesanan prabayar, program mini mengaktifkan fungsi pembayaran melalui API pembayaran WeChat.
2.4 Pemberitahuan hasil pembayaran
Selepas pembayaran selesai, pelayan WeChat akan memberitahu pelayan pedagang tentang hasil pembayaran, dan pelayan pedagang akan menghantar respons kepada pelayan WeChat selepas memproses pesanan.

Kaedah pelaksanaan 3.PHP
Berikut ialah kaedah pelaksanaan pembayaran applet WeChat berasaskan PHP:

3.1 Pesanan pelayan saudagar
Selepas pelayan saudagar menerima permintaan pesanan pengguna, Ia adalah perlu untuk menjana pesanan prabayaran dan mengembalikan maklumat pesanan prabayaran kepada applet. Berikut ialah pelaksanaan kod PHP untuk membuat pesanan:

<?php
public function unifiedOrder($data)
{
    $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
    $data['appid'] = $this->appId;
    $data['mch_id'] = $this->mchId;
    $data['nonce_str'] = $this->getNonceStr();
    $data['notify_url'] = $this->notifyUrl;
    $data['trade_type'] = 'JSAPI';
    $data['openid'] = $openid;
    $data['spbill_create_ip'] = $_SERVER['REMOTE_ADDR'];
    $data['sign'] = $this->sign($data);

    $xml = $this->arrayToXml($data);
    $response = $this->postXmlCurl($xml, $url);
    $result = $this->xmlToArray($response);
    return $result;
}

3.2 Program mini mengaktifkan pembayaran
Selepas program mini menerima pesanan prabayaran, ia perlu menghubungi API pembayaran WeChat untuk pembayaran. Berikut ialah pelaksanaan kod PHP bagi panggilan pembayaran:

<?php
public function getPayParams($prepayId)
{
    $data['appId'] = $this->appId;
    $data['timeStamp'] = time();
    $data['nonceStr'] = $this->getNonceStr();
    $data['package'] = 'prepay_id=' . $prepayId;
    $data['signType'] = 'MD5';
    $data['paySign'] = $this->sign($data);

    return $data;
}

3.3 Pemberitahuan hasil pembayaran
Selepas pembayaran WeChat selesai, pelayan WeChat akan memberitahu pelayan pedagang tentang hasil pembayaran. Berikut ialah pelaksanaan kod PHP pemberitahuan hasil pembayaran:

<?php
public function notify()
{
    $xml = file_get_contents("php://input");
    $data = $this->xmlToArray($xml);

    if ($this->checkSign($data)) {
        //处理支付结果
        $orderNo = $data['out_trade_no'];
        $transactionId = $data['transaction_id'];
        //返回成功信息
        return $this->arrayToXml(['return_code' => 'SUCCESS', 'return_msg' => 'OK']);
    } else {
        return $this->arrayToXml(['return_code' => 'FAIL', 'return_msg' => '签名验证失败']);
    }
}

4 Ringkasan
Melalui pelaksanaan langkah di atas, kami boleh mengakses fungsi pembayaran program mini WeChat dan menyediakan pengguna program mini dengan. kaedah pembayaran yang lebih mudah. Perlu diingatkan bahawa keselamatan dan ketepatan data perlu dipastikan semasa proses pembayaran, manakala potensi risiko pembayaran mesti dielakkan.

Atas ialah kandungan terperinci Kaedah pelaksanaan PHP berkaitan pembayaran program mini WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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