1. 程式人生 > >微信支付-免充值立減與折扣(上篇)

微信支付-免充值立減與折扣(上篇)

前排:本篇文章將會主要介紹如何開通 免充值立減與折扣功能,具體使用請看微信支付-免充值立減與折扣(下篇)

一 前言

專案需求:使用XX銀行卡支付可享受滿XX減XX優惠。

一開始看到這個需求,覺得一臉懵逼,不可思議,首先想到的問題是支付控制元件是微信的,我們只能在支付完成後回撥介面知道使用者的支付方式(使用零錢或者某某銀行卡),支付方式不可能在使用者發起支付時獲取到。難不成要在使用者支付後進行退款操作?想一想就覺得好傻逼(這個方法pass)。接著便想微信支付肯定不會這麼傻,肯定有介面可以在支付時知道支付方式或者更方便的方法。好在最終,在商戶平臺發現瞭解決方式、本文的主題--免充值立減與折扣

二 準備

2.1 必要前提

你要有微信公眾號支付/小程式支付/H5支付的開發經驗(本文以公眾號支付為例),否則先看我的上一篇文章 移動支付--微信公眾號支付開發

2.2 開發前需讀這幾篇微信支付文件

2)微信公眾號支付開發文件(包括查詢訂單、申請退款、查詢退款、下載對賬單等介面)

三 過程

1. 檢視免充值功能介面升級驗收進度

步驟 :開啟 驗收進度 - 輸入微信商戶號;

如果頁面提示 已完成介面升級,請忽略以下直接看第二步。

對於沒有完成介面升級的商戶,需要至少完成以下一個用例組合1001+1002+1005;1003+1004+1005,微信提供了介面升級測試用例

注:以下內容摘自測試用例:

1.1【 1001-可選用例-刷卡正常支付】

1.1.1 用例簡述

訂單金額 5.01 元,其中 0.01 元使用免充值券,實際支付 5.00 元。驗證商戶具備正確解析及識別免充值代金券欄位的能力。

1.1.2 測試步驟

(1)手機客戶端進入“微信->我->錢包->付款”獲取支付條碼;

(2)在收銀臺輸入訂單金額為 5.01 元,掃碼槍掃描上述條碼(此操作可選,若掃碼時出現二維碼失效等提示,可忽略提示,不影響測試結果),完成支付(或直接組包呼叫刷卡 api);

(3)根據商戶內部單號(out_trade_no),調查單 api(https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)查詢訂單狀態,與商戶自有訂單的關鍵資訊進行核對。

1.2 【 1002-可選用例-刷卡支付退款】

1.2.1 用例簡述

訂單金額 5.02 元,使用零錢+0.01 元免充值代金劵,實際支付 5.01 元,退款查詢升級。

1.2.2 測試步驟

(1)使用刷卡支付,進行 5.02 元的訂單支付;

(2)根據商戶內部單號(out_trade_no),調查單 api(https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)查詢訂單狀態;

(3)呼叫退款 api (https://api.mch.weixin.qq.com/sandboxnew/secapi/pay/refund)進行退款;

(4)呼叫退款查詢 api (https://api.mch.weixin.qq.com/sandboxnew/pay/refundquery)查詢退款結果。

1.3【 1003-可選用例-公眾號/APP/掃碼正常支付】

1.3.1 用例簡述

訂單金額 5.51 元,其中 0.01 元使用免充值券,實際支付 5.50 元。

驗正常支付流程,商戶使用免充值代金券支付。

1.3.2 測試步驟

(1)用客戶端掃碼,選擇商品下單(此操作可選,若掃碼時出現二維碼失效過期等提示,可忽略提示,不影響測試結果,支付時出現收銀臺 total_fee 錯誤,是因為微信支付真實環境裡不存在此筆沙箱訂單,可忽略此錯誤),調起微信支付交易確認頁,調下單 api(https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder)

(2)等待 5 秒,完成支付;

(3)呼叫查單 api(https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)查詢訂單狀態,與商戶自有訂單的關鍵資訊進行核對。

1.4 【 1004-可選用例-公眾號/APP/掃碼支付退款】

1.4.1 用例簡述

訂單金額 5.52 元,其中 0.01 元使用免充值券,實際支付 5.51 元。

1.4.2 測試步驟

(1)進行 5.52 元的訂單支付;

(2)根據商戶內部單號(out_trade_no),調查單 api

(https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery)進行查詢,與商戶自有訂單的關鍵資訊進行核對;

(3)呼叫退款 api (https://api.mch.weixin.qq.com/sandboxnew/secapi/pay/refund)進行退款;

(4)呼叫退款查詢 api (https://api.mch.weixin.qq.com/sandboxnew/pay/refundquery)查詢退款結果

1.5【 1005-必選用例-交易對賬單下載】

1.5.1 用例簡述

使用了免充值券的訂單,免充值券部分的金額不計入結算金額。驗證商戶對賬能正確理解到這一點,對賬無誤。

1.5.2 測試步驟

(1)呼叫對賬單下載介面,下載對賬單,其中下載對賬單總單時 bill_type=ALL,下載對賬單交易成功單時 bill_type=SUCCESS,下載對賬單退款單時 bill_type=REFUND,連結樣例:https://api.mch.weixin.qq.com/sandboxnew/pay/downloadbill;

(2)檢查賬單返回檔案欄位,結算金額=訂單總金額-免充值券金額。

2. 微信商戶平臺開通免充值立減與折扣功能。

步驟 :微信商戶平臺首頁 - 產品中心 - 產品大全 - 我的產品 - 找到免充值與折扣立減產品 - 點選開通。

四 注意

1)沙箱環境 呼叫成功 統一下單 介面,前端無須進行支付操作,微信會直接進行 支付結果通知。