1. 程式人生 > >微信支付之掃碼支付開發:我遇到的坑及解決辦法(附:Ecshop 微信支付外掛)

微信支付之掃碼支付開發:我遇到的坑及解決辦法(附:Ecshop 微信支付外掛)

      前段時間幫一個朋友的基於ecshop開發的商城加入微信掃描支付功能,本以為是很簡單的事兒——下載官方sdk或開發幫助文件,按著裡面的做就ok了,誰知折騰了兩三天的時間才算搞定,中間也帶著疑問在網上找了不少技術文章,卻發現都只是比較粗略的寫他們是怎麼開發接入的,並沒有解決我遇到的問題...,唉,有時候真心的感覺‘只能靠自己’。本文就是想把自己遇到的問題及解決辦法寫出來,讓做這方面開發的朋友有所幫助!

  開發之前,先檢視官方【掃碼支付】開發文件,掃碼支付分為以下兩種模式:

  △模式一:

遇到的問題:第一次掃描二維碼還能正常掃描,未付款再次掃描會提示:ok 或 請求商戶資訊超時HttpCode非200——此問題嘗試通過各種途徑尋找解決辦法都無果,在這裡希望有知道朋友能給與解答,謝謝!

  △模式二:

  注意:不可以直接用商城的訂單號作為交易訂單號(out_trade_no),否則再次生成微信掃碼支付二維碼時,介面會提示:商戶訂單號重複,無法重新生成。

  那麼醬紫問題來了,應該怎樣設定交易訂單號,還能保證後面通過介面查詢微信商戶平臺裡的相應訂單資訊或實現對賬?可行的辦法是:掃碼之前的統一下單介面,out_trade_no不要傳入商城訂單系統的訂單號,而是重新生成一個新的唯一流水;再增加一個訂單號和微信支付交易訂單號(out_trade_no)對應表,如下:

     上表中有個serial_is_paid欄位:用於標記此交易是否已完成,即:在支付成功通知回撥處理中,根據回傳的out_trade_no更新支付狀態;至於怎麼查詢訂單支付狀態,想必你應該也知道了...

     

  【2016-2月 補充】建立支付訂單和成功回撥引數中都有“attach”欄位——直接設定為交易流水號即可方便對訂單進行處理,以上方式實屬對api未詳細查閱的愚笨之舉,特補充更正!

  

  好了,很久沒寫技術部落格有些找不到感覺,寫的可能比較粗略,有不清楚的朋友可以留意&交流!

 

我的微信訂閱號:zxcknowmore,你的關注與支援,是我多寫博文的動力!

相關推薦

支付支付開發遇到的解決辦法(Ecshop 支付外掛)

      前段時間幫一個朋友的基於ecshop開發的商城加入微信掃描支付功能,本以為是很簡單的事兒——下載官方sdk或開發幫助文件,按著裡面的做就ok了,誰知折騰了兩三天的時間才算搞定,中間也帶著疑問在網上找了不少技術文章,卻發現都只是比較粗略的寫他們是怎麼開發接入的,並沒有解決我遇到的問題...,唉,有時

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

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

PHP支付支付

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

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

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

支付支付相關程式碼(Java)

          最近開發網站過程,需要引入支付過程,第三方支付中最火的莫過於支付寶支付和微信支付,下邊藉助微信支付官網上的文件,寫一下接入微信支付之掃碼支付的流程 相對支付寶支付而言,微信支付的開發文件寫的相當的low,demo寫的一點都不簡潔,下邊寫一下微信掃碼支付的

app支付回撥多次以及不回撥的解決辦法

前面一篇文章我是在做app支付的時候寫的,做app支付完成之後寫的,這篇主要是支付完成之後的坑。 首先,支付完成之後,主要就是回撥,我首先遇到的就是支付完成之後,並沒有收到資訊,然後就是各種網上找問答。後面突然發現,資料庫裡面無緣無故的竟然有了回撥的資訊(這個我是在回撥頁面

關於小程式提示Error ECONNECT 或者Socket HandUp的原因解決辦法

今日小哥趁著暑假,在外面實習租了個房,用了房裡的網線打算對著電腦繼續大戰的時候,發現提示入標題所示錯誤,在網上百度和去微信社群找都沒找到原因,最後發現原因是計算機網路系統連結的錯誤,也就是出租屋裡網線的鍋。解決辦法,在發現問題後小哥只能找解決辦法,後來買了一臺路由器試試看能不

開發中 ios 11.0系統遇到的解決辦法

導讀: 之前更新iOS11.0系統後,發現原來的專案有很多變化,例如,app的圖示不顯示了,tableview的佈局變了,搜尋框的樣式也有所變化,因此,針對這些問題找到了相應的解決方案。 一、app的圖示不顯示 原因:圖示不顯示主要是cocoaPod出現了問題 解決方案:使用

Android開發過程中的解決方法收錄(四)

1.某個控制元件要放在Linearlayout佈局的底部(底部導航條) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.

Android開發過程中的解決方法收錄

  1.某個控制元件要放在Linearlayout佈局的底部(底部導航條)      <LinearLayout      android:layout_width="match_parent"      android:orientation="vertical"      android:layou

專案開發中遇到的問題解決辦法

1:hql模糊查詢不匹配問題---->忘記了加%%模糊匹配符 2:TreeMap是對鍵進行由小到大的排序。 3:String.valueof(...)基本資料型態轉換成 String  4:Li

Android開發過程中的解決方法收錄(五)

版本號 如果 出現 過程 androi 分享圖片 onf blog end 1. 導入依賴庫出現錯誤 因為使用的sdk版本不同,使用下列代碼強制使用最低版本,25.3.1就是我當前使用的版本號,根據自己的情況修改 configurations.all {

Java支付開發支付模式一

官方文件 準備工作:已通過微信認證的公眾號, 必須通過ICP備案域名(否則會報支付失敗) 借鑑了很多大神的文章,在此先謝過了 大體過程:先掃碼(還沒有確定實際要支付的金額),這個碼是商品的二維碼,再生成訂單,適用於自動販賣機之類固定金額的。 模式一支付的流程如下圖,稍微有點複雜

asp.net core 支付工具類(H5支付支付,公眾號支付,app支付2-H5支付

IV app支付 tno 方式 quest ces sys net ota   上一篇說到微信掃碼支付,今天來分享下微信H5支付,適用場景為手機端非微信瀏覽器調用微信H5支付驚醒網站支付業務處理。申請開通微信H5支付工作不多做介紹,直接上代碼。   首先是微信支付業務類(W

一個PHP檔案搞定支付系列原生支付支付

<?php header('Content-type:text/html; Charset=utf-8'); $mchid = 'xxxxx'; //微信支付商戶號 PartnerID 通過微信支付商戶資料稽核後郵件傳送 $appid = 'xxxxx'; //公眾號APPID 通過

支付代理加盟 支付支付申請條件

微信支付代理 微信支付加盟 支付寶支付掃碼申請我們先了解一下移動支付收單服務優勢吧? 加入采寶移動支付收單的優勢: 一、收單方式更為的快速,便捷,顧客只要在準備付錢時打開支付寶錢包或微信錢包給收銀員用掃描槍掃一下就完成交易了,不用找零,不用簽字,資金實時到賬,更杜絕了假幣風險。 二、政

支付----PC支付(查詢支付訂單判斷是否支付成功)

微信支付 c#webapi建議前端輪番查詢訂單狀態 #region 查詢掃碼訂單狀態 /// <summary> /// 查詢掃碼支付狀態 /// </summary> /// <param name=&

關於tp5使用支付寶app支付支付

<?php /** * Created by PhpStorm. * User: ljy * Date: 17/10/14 * Time: 下午3:33 */ namespace app\api\controller; use Pingpp\Pingpp; use Pingpp\Charge

統一下單_公眾號支付_支付

微信掃碼支付流程圖:https://pay.weixin.qq.com/wiki/doc/api/native_sl.php?chapter=6_5&index=4 微信公眾號支付流程圖:https://pay.weixin.qq.com/wiki/doc/api/

java--spring boot支付服務端實現含程式碼(app支付支付等)

最近在弄支付寶、微信支付等的事,發現這兩家的文件都寫得很差,demo也讓人看的雲裡霧裡。所以寫篇部落格,來儘量減少後來的同學走的彎路。 首先,若是要做app支付的話,在微信第三方平臺申請APP,若是安卓的話上傳你的keystore和包名,ios上傳bundle id,微信會