thinkphp微信v3扫码支付二怎样向微信返回值

 我来答
从空去听8
2017-12-31 · TA获得超过7439个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5580万
展开全部
吧微信支付的示例代码修改成tp中直接使用的实例代码,并简单的做了扫码支付以及回调功能
吧微信支付的示例代码修改成tp中直接使用的示例代码,并简单的做了扫码支付以及回调功能
用的是模式2,有必要你可以直接拿模式一的代码执行就可以的。
类的导入看一下我的导入你就明白怎么导入了。以后再也不用担心这个玩意儿了。
代码参考如下
生成支付二维码的实例代码:public function index() {
import ( "@.Controller.WxPay.WxPayNativePay" );
$notify = new \WxPayNativePay ();
$url1 = $notify->GetPrePayUrl ( "123456789" );
// 模式二
/**
* 流程:
* 1、调用统一下单,取得code_url,生成二维码
* 2、用户扫描二维码,进行支付
* 3、支付完成之后,微信服务器会通知支付成功
* 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
* @作者 希尔瓦柯
* @时间 2016-9-22下午3:41:59
*/
// $price = $_POST ['price'];
// $prodect_id = $_POST ['prodect_id'];
// $premission_name = $_POST ['premission_name'];
$price = 0.01;
$prodect_id = rand ( 2, 8 );
$premission_name = $prodect_id;
// 开始处理
$input = new \WxPayUnifiedOrder ();
$input->SetBody ( "xxxx---" . $premission_name );
$input->SetAttach ( "xxxxx-Attach" );
$input->SetOut_trade_no ( \WxPayConfig::MCHID . date ( "YmdHis" ) );
$input->SetTotal_fee ( $price * 100 );
$input->SetTime_start ( date ( "YmdHis" ) );
$input->SetTime_expire ( date ( "YmdHis", time () + 600 ) );
$input->SetGoods_tag ( "xxx-tag" );
$input->SetNotify_url ( "ht/index.php/home/Index/notify" );
$input->SetTrade_type ( "NATIVE" );
$input->SetProduct_id ( rand ( 4, 8 ) );
$result = $notify->GetPayUrl ( $input );
$url2 = $result ["code_url"];
// 生成二维码
error_reporting ( E_ERROR );
import ( "@.Controller.WxPay.PHPQRCODE" );
$url = urldecode ( $url2 );
\QRcode::png ( $url );
}微信支付回调处理的实例代码:/**
* @功能描述:微信支付回调处理
* @作者 希尔瓦柯
* @时间 2016-9-22下午3:41:59
*/
public function notify() {
// 获取微信回调的数据
$notifiedData = $GLOBALS ['HTTP_RAW_POST_DATA'];
// 加载相关的类
import ( "@.Controller.WxPay.WxPayNativePay" );
import ( "@.Controller.WxPay.WxPayData" );
import ( "@.Controller.WxPay.WxPayNotify" );
import ( "@.Controller.WxPay.PayNotifyCallBack" );
$xml_to_arr = \WxPayDataBase::FromXml_4_babbage ( $notifiedData );
// 转成数组 并写入缓存
F ( "wx_notified_data", $xml_to_arr);
// 吧xml原型也写入xml
F ( "wx_notified_data_xml", $notifiedData );

// 给微信返回支付状态值
$notify = new \PayNotifyCallBack ();
// 返回状态
$notify->Handle ( false );
}
桂奥雅Ub
2017-02-15 · TA获得超过205个赞
知道小有建树答主
回答量:507
采纳率:0%
帮助的人:432万
展开全部
file_get_contents(“php://input”)直接读输入流,得到的是xml结构的数据!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式