1. 程式人生 > >ThinkPHP整合微信支付之刷卡模式

ThinkPHP整合微信支付之刷卡模式

大家好,這篇文章是繼微信支付之Native 掃碼支付 模式二之後的微信支付系列教程第四篇:微信刷卡支付
本教程跟前三篇教程不一樣,所需要的類庫也不一樣,所以做刷卡支付的時候,與之前的方法沒多少關係,大家注意一下。
下面開始介紹詳細步驟!
step1:下載微信刷卡支付demo,如下圖:

WxPayMicropayHelper:這個資料夾下就是刷卡支付微信提供的類庫
demo:這個資料夾下是關於刷卡支付的詳細demo
我們來看一下demo資料夾:

這裡我們要用到
micropay_call.php:這個就是刷卡支付的具體demo

我們可以把裡面內容複製下來,放到TP的控制器中(稍後介紹)

step2:把下載下來的微信刷卡支付的類庫同樣放到Vendor目錄下:


step3:上面的類庫放好後我們可以來寫控制器裡面的內容了
首先還是引入類庫:
  1. /**
  2.      * 初始化
  3.      */
  4.     public function _initialize()
  5.     {
  6.         //引入WxPayPubHelper
  7.         vendor('WxPayMicropayHelper.WxPayMicropayHelper');
  8.     }
複製程式碼 接下來把micropay_call.php下的程式碼提取出來複製到控制器下,並給個名字:
  1. public function micropay()
  2.     {
  3.         //自定義訂單號,此處僅作舉例
  4.         $timeStamp = time();
  5.         $out_trade_no = \WxPayConf_micropay::APPID."$timeStamp";
  6.         
  7.         //獲取使用者一維碼
  8.         if (isset($_POST["auth_code"]))
  9.         {
  10.             $auth_code = $_POST["auth_code"];
  11.         
  12.             //使用被掃支付介面
  13.             $micropayCall = new \MicropayCall();
  14.         
  15.             //設定被掃支付介面引數
  16.             //設定必填引數
  17.             //appid已填,商戶無需重複填寫
  18.             //mch_id已填,商戶無需重複填寫
  19.             //noncestr已填,商戶無需重複填寫
  20.             //spbill_create_ip已填,商戶無需重複填寫
  21.             //sign已填,商戶無需重複填寫
  22.             $micropayCall->setParameter("body","貢獻一分錢");//商品描述
  23.             $micropayCall->setParameter("out_trade_no","$out_trade_no");//商戶訂單號
  24.             $micropayCall->setParameter("total_fee","1");//總金額
  25.             $micropayCall->setParameter("auth_code","$auth_code");//交易型別
  26.             //非必填引數,商戶可根據實際情況選填
  27.             //$micropayCall->setParameter("sub_mch_id","XXXX");//子商戶號
  28.             //$micropayCall->setParameter("device_info","XXXX");//裝置號
  29.             //$micropayCall->setParameter("attach","XXXX");//附加資料
  30.             //$micropayCall->setParameter("time_start","XXXX");//交易起始時間
  31.             //$micropayCall->setParameter("time_expire","XXXX");//交易結束時間
  32.             //$micropayCall->setParameter("goods_tag","XXXX");//商品標記
  33.             //$micropayCall->setParameter("openid","XXXX");//使用者標識
  34.             //$micropayCall->setParameter("product_id","XXXX");//商品ID
  35.         
  36.             //提交訂單
  37.             $micropayCallResult = $micropayCall->getResult();
  38.         
  39.             //商戶根據實際情況設定相應的處理流程,此處僅作舉例
  40.             if ($micropayCallResult["return_code"] == "FAIL") 
  41.             {
  42.                 echo "通訊出錯:".$micropayCallResult['return_msg']."<br>";
  43.             }
  44.             elseif($micropayCallResult["result_code"] == "FAIL")
  45.             {
  46.                 echo "出錯"."<br>";
  47.                 echo "錯誤程式碼:".$micropayCallResult['err_code']."<br>";
  48.                 echo "錯誤程式碼描述:".$micropayCallResult['err_code_des']."<br>";
  49.             }
  50.             else
  51.             {
  52.                 echo "使用者標識:".$micropayCallResult['openid']."<br>";
  53.                 echo "是否關注公眾賬號:".$micropayCallResult['is_subscribe']."<br>";
  54.                 echo "交易型別:".$micropayCallResult['trade_type']."<br>";
  55.                 echo "付款銀行:".$micropayCallResult['bank_type']."<br>";
  56.                 echo "總金額:".$micropayCallResult['total_fee']."<br>";
  57.                 echo "現金券金額:".$micropayCallResult['coupon_fee']."<br>";
  58.                 echo "貨幣種類:".$micropayCallResult['fee_type']."<br>";
  59.                 echo "微信支付訂單號:".$micropayCallResult['transaction_id']."<br>";
  60.                 echo "商戶訂單號:".$micropayCallResult['out_trade_no']."<br>";
  61.                 echo "商家資料包:".$micropayCallResult['attach']."<br>";
  62.                 echo "支付完成時間:".$micropayCallResult['time_end']."<br>";
  63.             }
  64.         }
  65.         else
  66.         {
  67.             $this->assign('out_trade_no',$out_trade_no);
  68.             $this->display();
  69.         }
  70.     }
複製程式碼 這是我寫的控制器方法內容,對應micropay.html頁面:
  1. <!DOCTYPE HTML>
  2.  <html>
  3.  <head>
  4.     <meta charset="UTF-8">
  5.     <title>微信安全支付</title>
  6.  </head>
  7.  <body>
  8.     </br></br>
  9.     <div align="center">
  10.         <form  action="__SELF__" method="post">
  11.             <p>請輸入微信刷卡介面的一維碼:</p>
  12.             <p><input type="text" name="auth_code" value=""></p>
  13.             <button type="submit">提交</button>
  14.         </form>
  15.     </div>
  16.         
  17.     <div align="center">
  18.         <p>訂單號:<?php echo $out_trade_no; ?></p>
  19.     </div>
  20.     
  21.     <div align="center">
  22.     <table>
  23.         <td>
  24.         <form action="./order_query.php" method="post">
  25.             <input name="out_trade_no" type='hidden' value="<?php echo $out_trade_no; ?>">
  26.             <button type="submit" >查詢訂單狀態</button>
  27.         </form>
  28.         </td>
  29.         
  30.         
  31.         <td>
  32.         <form  action="./refund.php" method="post">
  33.             <input name="out_trade_no" type='hidden' value="<?php echo $out_trade_no; ?>">
  34.             <input name="refund_fee" type='hidden' value="1">
  35.             <button type="submit" >申請退款</button>
  36.         </form>
  37.         </td>
  38.         
  39.         <td>
  40.         <form  action="./reverse.php" method="post">
  41.             <input name="out_trade_no" type='hidden' value="<?php echo $out_trade_no; ?>">
  42.             <button type="submit" >衝正</button>
  43.         </form>
  44.         </td>
  45.     </table>
  46.     </div>
  47.         
  48.     <br>
  49.     <div align="center">
  50.         <a href="../index.php">返回首頁</a>
  51.     </div>

  52.  </body>
  53.  </html>
複製程式碼 到此我們就可以去測試一下了
請看頁面:

頁面中刷卡的一維碼就是你微信裡面錢包下面的刷卡功能,開啟後就可以看到你的一維碼,這個一維碼是過一段時間就自己重新整理的,輸入進去點選提交,請看微信頁面:

到此,刷卡支付功能也做好啦 大家好,這篇文章是繼微信支付之Native 掃碼支付 模式二之後的微信支付系列教程第四篇:微信刷卡支付
本教程跟前三篇教程不一樣,所需要的類庫也不一樣,所以做刷卡支付的時候,與之前的方法沒多少關係,大家注意一下。
下面開始介紹詳細步驟!
step1:下載微信刷卡支付demo,如下圖:

WxPayMicropayHelper:這個資料夾下就是刷卡支付微信提供的類庫
demo:這個資料夾下是關於刷卡支付的詳細demo
我們來看一下demo資料夾:

這裡我們要用到
micropay_call.php:這個就是刷卡支付的具體demo
我們可以把裡面內容複製下來,放到TP的控制器中(稍後介紹)

step2:把下載下來的微信刷卡支付的類庫同樣放到Vendor目錄下:

相關推薦

ThinkPHP整合支付模式

大家好,這篇文章是繼微信支付之Native 掃碼支付 模式二之後的微信支付系列教程第四篇:微信刷卡支付 本教程跟前三篇教程不一樣,所需要的類庫也不一樣,所以做刷卡支付的時候,與之前的方法沒多少關係,大家注意一下。 下面開始介紹詳細步驟! step1:下載微信刷卡支

ThinkPHP整合支付發現金紅包

大家好,微信支付系列教程四種方式已經結束,如果你以為結束了就錯了,有同學跟我提到微信還有紅包功能,我開始也沒注意這一塊,於是看了下微信商戶平臺上有講到這一塊,微信支付平臺上也早就有了,於是趁熱打鐵,研究了下,繼續發出關於微信紅包的教程文章。接下來請看微信支付發紅包之現金紅包教程! 現在微信商戶

ThinkPHP整合支付JSAPI模式

目前微信是很火的,微信支付目前很少在網上能看到一系列詳細的demo,因此,花一點時間來做一下關於微信支付系列教程,本次教程是JSAPI模式支付,其他的還會繼續寫下去 首先,下載微信支付的demo,我們根據微信上的demo來整合到TP中。 介紹下我們這裡需要用到的幾個檔案:

ThinkPHP 整合支付 掃碼支付 模式二 圖文教程

這篇文章主要介紹掃碼支付場景二。目前有兩種模式,模式一比模式二稍微複雜點,至於模式一與模式二的具體內容,流程,微信開發文件都有詳細介紹,這裡就不多說廢話,接下來趕緊上教程!下載SDK類檔案並SDK檔案/lib下的幾個檔案放置到/ThinkPHP/Library/Vendor/

thinkphp 整合支付

將微信支付SDK放在第三方類庫Vendor下面 請切記把WxPay.Config.php裡面的商戶資訊修改為您的公眾號資訊,以避免造成資金的流失。 php端程式碼 public function pay(){ //商戶基本資訊,可以寫死在WxPay.Confi

THINKPHP 3.1.x 整合支付

導語 支付寶和微信,在目前的生態下,都得整合接入 開發前請申請認證微信公眾號,申請開通微信商戶 環境: Thinkphp 3.1.x Wxpay php sdk v3 方式: PC端掃碼支付及公眾號內JSAPI支付 1.微信支付配置 2. WXPAY php

支付h5方式(非內置瀏覽器中支付)

開放 奔騰 server 手機號 產品 etop 名稱 ota lds 這兩天完成了公司網站手機和PC端的支付對接,就是支付寶和微信. 對接完後有所感觸,我們來聊一聊,微信支付的坑,為什麽這麽說呢,因為我在對接完支付寶後是很愉快的,基本上在demo上稍加修改就ok了,

java實現沙箱測試環境支付支付(demo)和整合支付支付支付到ssm

mar 文件 fun Go examples IT === throws 由於 文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關註我的微信公眾號:好好學java,獲取優質學習資源。 一、支付寶測試環境代碼測試 1.下載電腦網站的官方demo: 下載地址:https:

支付掃碼支付、公眾號支付、H5支付、小程序支付相關業務流程分析總結

doc bsp 說明 引入 red 內容 bubuko url參數 數據 前言 很久以來,一直想寫一篇微信支付有關的總結文檔;一方面是總結自己的一些心得,另一方面也可以幫助別人,但是因種種原因未能完全理解透徹微信支付的幾大支付方式,今天有幸做一些總結上的文章,也趁此機會,將

支付退款

ttpClient color url 參考文獻 secret 網站 ces 密鑰 將在   微信支付開發完之後,客戶提出新要求,要求有退款功能,好吧,完整的支付流程也包括退款,幹吧。o_o ....   當交易發生之後一段時間內,由於買家或者賣家的原因需要退款時,賣家可

Androd整合支付支付支付

文章目錄 前言 微信支付 支付寶支付 前言 我們在做App的時候,可能需要接入支付功能,常見的支付有微信支付和支付寶支付。這裡只說明下前端的程式碼邏輯。 微信支付 微信支付開發

C# 支付公眾號支付

第一次接觸微信支付這塊, 把微信支付的sdk研究了很久,也 在網上找了很多的資料   記錄一下  防止哪天忘記。 微信支付步驟: 1,獲取code 2,獲取access_token 和使用者openID 3,查詢訂單詳情 4,初始化微信支付環境 6,提交充值資料 5

支付Native掃碼支付功能

作者:陳惠,叩丁狼教育高階講師。原創文章,轉載請註明出處。 上一篇微信支付文章:https://www.jianshu.com/p/9c322b1a5274 實現了微信公眾號內H5頁面進行支付的功能,但是這種方式的缺點就是必須在微信中開啟付款頁面才能實現,所以並不適合所有的場景。那

小程式、app整合支付

一、微信小程式支付 申請小程式開發者賬號,進行微信認證,獲取appid,開通微信支付,即繫結申請的微信支付商戶號。 1.小程式支付流程: 2.商戶系統和微信支付系統主要互動:       1、小程式內呼叫登入介面,獲取到使用者的openid。       2

支付JSAPI支付

JSAPI支付 JSAPI支付是使用者在微信中開啟商戶的H5頁面,商戶在H5頁面通過呼叫微信支付提供的JSAPI介面調起微信支付模組完成支付 使用場景 使用者在微信公眾賬號(必須是服務號)內進入商家公眾號,開啟某個H5頁面,

PHP支付掃碼支付

在手機微信端進行微信支付,直接調起JSAPI支付,這可以實現在微信裡邊的開的頁面進行支付,比如微商城,微信端JSAPI支付詳見:;但有時候商城還有PC端,需要在PC端使用微信支付,則需要PC端生成支付二維碼,然後微信掃碼完成支付。例如: 這裡主要講一下PC端掃碼支付以及退

支付-掃碼支付-模式2(模式1)

微信商戶申請開通:https://pay.weixin.qq.com/service_provider/index.shtml 注意:開通公眾賬號之後,然後根據流程開通相對應的商戶平臺 開發文件

java開發微支付支付

本人從微信官網下得 SDK  路徑: https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1 下載解壓得到 得到上面的jar包,不用懷疑,這個就是我們需要的。沒錯,如果你想看這個jar的原始碼。

【Java】快速整合支付支付支付

本文介紹博主自己封裝的一個微信支付和支付寶支付的library 本專案解決的問題僅限於最後的支付環節,即你告訴我多少錢,我帶著這個多少錢的資訊發起微信支付或者支付寶支付,僅需簡單的配置資訊,然後

支付公眾號發紅包和企業付款

微信現金紅包,是微信支付商戶平臺提供的營銷工具之一,上線以來深受廣大商戶與使用者的喜愛。商戶可以通過本平臺向微信支付使用者發放現金紅包。使用者領取紅包後,資金到達使用者微信支付零錢賬戶,在日常運營中為