您现在的位置是:主页 > Web前端技术 > Web前端技术

app微信支付类封装如何理解开发技术

IDCBT2022-01-10服务器技术人已围观

简介app微信支付类封装如何理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 ?php namespace MyClass; class WechatPay

app微信支付类封装如何理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<?php

namespace MyClass;

class WechatPay

{

    public function createJsBizPackage($totalFee, $outTradeNo, $orderName, $timestamp){

        $unified = array(

            'appid' => WX_APPID,

            'attach' => '支付',

            'body' => $orderName,

            'mch_id' => WX_MACID,

            'nonce_str' => self::createNonceStr(),

            'notify_url' => WX_URL,

            'out_trade_no' => $outTradeNo,

            'spbill_create_ip' => '127.0.0.1',

            'total_fee' => intval($totalFee * 100),

            'trade_type' => 'APP',

        );

        $unified['sign'] = self::getSign($unified);

        $responseXml = self::curlPost('https://api.mch.weixin.qq.com/pay/unifiedorder', self::arrayToXml($unified));

        $unifiedOrder = (array)simplexml_load_string($responseXml, 'SimpleXMLElement', LIBXML_NOCDATA);

        if ($unifiedOrder === false) {

            die('parse xml error');

        }

        if ($unifiedOrder['return_code'] != 'SUCCESS') {

            die($unifiedOrder['return_msg']);

        }

        if ($unifiedOrder['result_code'] != 'SUCCESS') {

            die($unifiedOrder['err_code']);

        }

        $arr = array(

            "appid" => WX_APPID,

            'partnerid'=>WX_MACID,

            "timestamp" => $timestamp,

            "noncestr" => $unifiedOrder['nonce_str'],

            "package" => 'Sign=WXPay',

            "prepayid"=>$unifiedOrder['prepay_id'],

        );

        $data['paySign'] = self::getSign($arr);

标签:

很赞哦! ()

本栏推荐