wxpayhelper php setparameter,微信开发之微信支付 V3版

本文将带你了解微信开发微信支付 V3版,希望本文对大家学微信有所帮助。

须要申请对应的帐号

后台设置支付文件夹

js_api_call.php

php

/**

* JS_API支付demo

* ====================================================

* 在微信浏览器里面打开H5网页中运行JS调起支付。接口输入输出数据格式为JSON。

* 成功调起支付须要三个步骤:

* 步骤1:网页授权获取用户openid

* 步骤2:使用统一支付接口,获取prepay_id

* 步骤3:使用jsapi调起支付

*/

include_once("WxPayPubHelper/WxPayPubHelper.php");

//使用jsapi接口

$jsApi = new JsApi_pub();

//=========步骤1:网页授权获取用户openid============

//通过code获得openid

if (!isset($_GET['code']))

{

//触发微信返回code码

$url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);

Header("Location: $url");

}else

{

//获取code码。以获取openid

$code = $_GET['code'];

$jsApi->setCode($code);

$openid = $jsApi->getOpenId();

}

// $openid = 'oywLxshg8ZwoEURBA9seM-Ahdp-s';

//=========步骤2:使用统一支付接口。获取prepay_id============

//使用统一支付接口

$unifiedOrder = new UnifiedOrder_pub();

//设置统一支付接口參数

//设置必填參数

//appid已填,商户无需反复填写

//mch_id已填,商户无需反复填写

//noncestr已填,商户无需反复填写

//spbill_create_ip已填,商户无需反复填写

//sign已填,商户无需反复填写

$unifiedOrder->setParameter("openid","$openid");//商品描写叙述

$unifiedOrder->setParameter("body","贡献一分钱");//商品描写叙述

//自己定义订单号,此处仅作举例

$timeStamp = time();

$out_trade_no = WxPayConf_pub::APPID."$timeStamp";

$unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商户订单号

$unifiedOrder->setParameter("total_fee","1");//总金额

$unifiedOrder->setParameter("notify_url",WxPayConf_pub::NOTIFY_URL);//通知地址

$unifiedOrder->setParameter("trade_type","JSAPI");//交易类型

//非必填參数。商户可依据实际情况选填

//$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号

//$unifiedOrder->setParameter("device_info","XXXX");//设备号

//$unifiedOrder->setParameter("attach","XXXX");//附加数据

//$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间

//$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间

//$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记

//$unifiedOrder->setParameter("openid","XXXX");//用户标识

//$unifiedOrder->setParameter("product_id","XXXX");//商品ID

$prepay_id = $unifiedOrder->getPrepayId();

//=========步骤3:使用jsapi调起支付============

$jsApi->setPrepayId($prepay_id);

$jsApiParameters = $jsApi->getParameters();

//echo $jsApiParameters;

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

/** * 微信支付帮助库 * ==================================================== * 接口分三种类型: * 【请求型接口】--Wxpay_client_ * 统一支付接口类--UnifiedOrder * 订单查询接口--OrderQuery * 退款申请接口--Refund * 退款查询接口--RefundQuery * 对账单接口--DownloadBill * 短链接转换接口--ShortUrl * 【响应型接口】--Wxpay_server_ * 通用通知接口--Notify * Native支付——请求商家获取商品信息接口--NativeCall * 【其他】 * 静态链接二维码--NativeLink * JSAPI支付--JsApi * ===================================================== * 【CommonUtil】常用工具: * trimString(),设置参数时需要用到的字符处理函数 * createNoncestr(),产生随机字符串,不长于32位 * formatBizQueryParaMap(),格式化参数,签名过程需要用到 * getSign(),生成签名 * arrayToXml(),array转xml * xmlToArray(),xml转 array * postXmlCurl(),以post方式提交xml到对应的接口url * postXmlSSLCurl(),使用证书,以post方式提交xml到对应的接口url */ include_once("SDKRuntimeException.php"); include_once("WxPay.pub.config.php"); /** * 所有接口的基类 */ class Common_util_pub { function __construct() { } function trimString($value) { $ret = null; if (null != $value) { $ret = $value; if (strlen($ret) == 0) { $ret = null; } } return $ret; } /** * 作用:产生随机字符串,不长于32位 */ public function createNoncestr( $length = 32 ) { $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; $str =""; for ( $i = 0; $i $v) { if($urlencode) { $v = urlencode($v); } //$buff .= strtolower($k) . "=" . $v . "&"; $buff .= $k . "=" . $v . "&"; } $reqPar; if (strlen($buff) > 0) { $reqPar = substr($buff, 0, strlen($buff)-1); } return $reqPar; } /** * 作用:生成签名 */ public function getSign($Obj) { foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //签名步骤一:按字典序排序参数 ksort($Parameters); $String = $this->formatBizQueryParaMap($Parameters, false)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值