您现在的位置是:主页 > 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);
标签:很赞哦! ()