ThinkPHP微信扫码支付接口,thinkphp支付接口
ThinkPHP微信扫码支付接口,thinkphp支付接口
最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/demo不匹配,现在自己算是弄出来了(文件名称有所更改),贴出来分享一下
一.将有用的官方lib文件和使用的相关文件放置到vendor当中
二.调用同一支付接口
WechatController
<span>//<span>调用同一支付接口<br /><span>public function <span>native(<span>$v_oid<span>=<span>'',<span>$v_amount<span>=<span>''){<br /> <span>ini_set(<span>'date.timezone',<span>'Asia/Shanghai');<br /> <span>error_reporting(<span>E_ERROR);<br /> <span>//<span>添加相关的类文件<br /><span> <span>vendor(<span>'Wxpay.WxPayApi');<br /> <span>vendor(<span>'Wxpay.log');<br /> <span>vendor(<span>'Wxpay.NativePay');<br /> <span>//<span>初始化日志<br /><span> <span>$logHandler<span>= new \<span>CLogFileHandler(<span>"../logs/"<span>.<span>date(<span>'Y-m-d')<span>.<span>'.log');<br /> <span>$log <span>= \<span>Log<span>::<span>Init(<span>$logHandler, <span>15);<br /> <span>//<span>接受订单信息<br /><span> <span>if(<span>trim(<span>$v_oid)<span><><span>"") <span>//<span>判断是否有传递订单号<br /><span> {<br /> <span>$v_oid <span>= <span>trim(<span>$v_oid);<br /> }<br /> <span>else<br /><span> {<br /> <span>$this<span>-><span>error(<span>'<span>订单号为空<span>',<span>U(<span>'User/index'));<br /> <span>exit;<br /> }<br /><br /> <span>$v_amount <span>= <span>trim(<span>$v_amount<span>*<span>100); <span>//<span>支付金额<br /><span><br /><span> <span>//<span>调用同一支付接口<br /><span> <span>$notify <span>= new \<span>NativePay();<br /> <span>$input <span>= new \<span>WxPayUnifiedOrder();<br /> <span>//<span>商品描述<span>----------------------------<span>需要参数传递<span>/<span>统一信息<br /><span> <span>$input<span>-><span>SetBody(<span>"<span>商品描述位置<span>");<br /> <span>//<span>附加数据<br /><span> <span>$input<span>-><span>SetAttach(<span>"<span>附加数据位置<span>");<br /> <span>//<span>商户订单号<br /><span> <span>$input<span>-><span>SetOut_trade_no(<span>$v_oid);<br /> <span>//<span>总金额<br /><span> <span>$input<span>-><span>SetTotal_fee(<span>$v_amount);<br /> <span>//<span>开始时间<br /><span> <span>$input<span>-><span>SetTime_start(<span>date(<span>"YmdHis"));<br /> <span>//<span>结束时间<br /><span> <span>$input<span>-><span>SetTime_expire(<span>date(<span>"YmdHis", <span>time() <span>+ <span>600));<br /> <span>//<span>商品标记<br /><span> <span>$input<span>-><span>SetGoods_tag(<span>"<span>商品标记位置<span>");<br /> <span>//<span>异步通知地址<span>,<span>不能携带任何参数<br /><span> <span>$input<span>-><span>SetNotify_url(<span>U(<span>'NotifyProcess'));<br /> <span>//<span>交易类型<br /><span> <span>$input<span>-><span>SetTrade_type(<span>"NATIVE");<br /> <span>//<span>商品<span>id<br /><span> <span>$input<span>-><span>SetProduct_id(<span>"123456789");<br /> <span>//<span>获取同一支付接口结果<br /><span> <span>$result <span>= <span>$notify<span>-><span>GetPayUrl(<span>$input);<br /> <span>$url2 <span>= <span>$result[<span>"code_url"];<br /><br /> <span>$this<span>-><span>assign(<span>'data',<span>urlencode(<span>$url2));<br /> <span>$this<span>-><span>assign('v_oid',$v_oid); $this->assign('v_amount',$v_amount/100); $this->display();}三.生成二维码</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
<span><span>三.</span><span><span>微信支付生成二维码</span><br /><span>public function <span>qrcode(){<br /> <span>error_reporting(<span>E_ERROR);<br /> <span>vendor(<span>'Wxpay.phpqrcode.phpqrcode');<br /> <span>$url <span>= <span>$_GET[<span>"data"];<br /> \<span>QRcode<span>::<span>png(<span>$url);<br />}<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><span>四.异步处理</span><br /><span>具体处理流程和方式按个人需求</span>
<br /><span>//<span>微信异步查询订单机制<br /><span>public function <span>Queryorder(<span>$transaction_id)<br />{<br /> <span>$input <span>= new \<span>WxPayOrderQuery();<br /> <span>$input<span>-><span>SetTransaction_id(<span>$transaction_id);<br /> <span>$result <span>= \<span>WxPayApi<span>::<span>orderQuery(<span>$input);<br /> \<span>Log<span>::<span>DEBUG(<span>"query:" <span>. <span>json_encode(<span>$result));<br /> <span>if(<span>array_key_exists(<span>"return_code", <span>$result)<br /> <span>&& <span>array_key_exists(<span>"result_code", <span>$result)<br /> <span>&& <span>$result[<span>"return_code"] <span>== <span>"SUCCESS"<br /><span> <span>&& <span>$result[<span>"result_code"] <span>== <span>"SUCCESS")<br /> {<br /> <span>return true;<br /> }<br /> <span>return false;<br />}<br /><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>五.再来个form表单展示二维码</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
<span><<span>form <span>action=<span>"" <span>method=<span>"post" <span>id=<span>"myForm-table"><br /> <<span>h2><span>订单信息</<span>h2><br /> <<span>div <span>class=<span>"orderNumber"><br /> <<span>p <span>class=<span>"a"><span>订单号:<span>"{$v_oid}"</<span>p><br /> <<span>p <span>class=<span>"b"><br /> <<span>span <span>class=<span>"left"><span>应付金额:<<span>strong><<span>em><span>{$v_amount}</<span>em><span>元</<span>strong></<span>span><br /> <<span>span <span>class=<span>"right"><span>付款后,飞行之翼客服会与您联系,如有问题请咨询<span>24<span>小时飞行热线 <span>400-700-2016</<span>span><br /> </<span>p><br /> </<span>div><br /> <<span>h2><span>微信支付</<span>h2><br /> <<span>img <span>src=<span>"{:U('qrcode')}?data={$data}" <span>alt=<span>"<span>微信扫码<span>"><br /> <<span>div <span>class=<span>"order-submit"><<span>a <span>href=<span>"javascript:<span>history<span>.<span>go<span>(-1);" <span>class=<span>"submitOrder Order"><span>返回其他支付方式</<span>a></<span>div><br /></<span>form></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><br /><br /><span>成功的图就不附上了,这是我遇到的问题,由于要重构,所以比较乱,无效代码也比较多,需要整理,记录下来,分享一二</span>
<span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
<br /><br />

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











ThinkPhp6 라우팅 매개 변수는 중국어 및 완전한 획득으로 처리됩니다. ThinkPhp6 프레임 워크에서 특수 문자 (예 : 중국어 및 구두점 마크)를 포함하는 URL 매개 변수는 종종 처리됩니다 ...

Elasticsearch-PHP 클라이언트와 결합 된 ThinkPHP6 프레임 워크 사용 ELASTICSEARCH를 작동 ...

추상 클래스와 인터페이스의 주요 차이점은 추상 클래스에 메소드의 구현을 포함 할 수 있고 인터페이스는 메소드의 서명 만 정의 할 수 있다는 것입니다. 1. Abstract 클래스는 추상 및 구체적인 방법을 포함 할 수있는 초록 키워드를 사용하여 정의되며, 기본 구현 및 공유 코드를 제공하는 데 적합합니다. 2. 인터페이스는 인터페이스 키워드를 사용하여 정의되며, 여기에는 메소드 서명 만 포함되어 있으며 행동 규범 및 다중 상속을 정의하는 데 적합합니다.

이 기사는 중국의 Ouyi Okx 앱의 안전한 다운로드에 대한 자세한 안내서를 제공합니다. 국내 앱 스토어의 제한으로 인해 사용자는 OUYI OKX의 공식 웹 사이트를 통해 앱을 다운로드하거나 공식 웹 사이트에서 제공 한 QR 코드를 사용하여 스캔 및 다운로드하는 것이 좋습니다. 다운로드 프로세스 중에 공식 웹 사이트 주소를 확인하고 응용 프로그램 권한을 확인하고 설치 후 보안 스캔을 수행하며 2 요인 확인을 활성화하십시오. 사용하는 동안 현지 법률 및 규정을 따르고, 안전한 네트워크 환경을 사용하고, 계정 보안을 보호하고, 사기에 대해 경계하고, 합리적으로 투자하십시오. 이 기사는 참조 용이며 투자 조언은 자신의 위험에 처해 있습니다.

H5. 미니 프로그램과 앱의 주요 차이점은 다음과 같습니다. 기술 아키텍처 : H5는 웹 기술을 기반으로하며 미니 프로그램 및 앱은 독립적 인 응용 프로그램입니다. 경험과 기능 : H5는 가볍고 사용하기 쉽고 기능이 제한되어 있습니다. 미니 프로그램은 가벼우 며 상호성이 우수합니다. 앱은 강력하고 부드러운 경험이 있습니다. 호환성 : H5는 크로스 플랫폼 호환성이며 애플릿 및 앱은 플랫폼에 의해 제한됩니다. 개발 비용 : H5는 개발 비용이 낮고 중간 미니 프로그램 및 최고 앱이 있습니다. 적용 가능한 시나리오 : H5는 정보 표시에 적합하고 애플릿은 가벼운 응용 프로그램에 적합하며 앱은 복잡한 기능에 적합합니다.

H5는보다 유연하고 사용자 정의 가능하지만 숙련 된 기술이 필요합니다. 미니 프로그램은 신속하게 시작하고 유지 관리가 쉽지만 WeChat 프레임 워크에 의해 제한됩니다.

회사 보안 소프트웨어 및 응용 프로그램을위한 호환성 문제 및 문제 해결 방법. 많은 회사들이 인트라넷 보안을 보장하기 위해 보안 소프트웨어를 설치할 것입니다. 그러나 보안 소프트웨어 가끔 ...

Enterprise Wechat의 JS 자원 캐싱 문제에 대한 토론. 프로젝트 기능을 업그레이드 할 때, 일부 사용자는 종종 특히 기업에서 성공적으로 업그레이드하지 않는 상황을 발생시킵니다.
