微信退款操作總結

2021-10-09 23:26:34 字數 2513 閱讀 3933

要點:請求需要雙向證書。

相比支付(預支付)退款操作需要雙向證書,即客戶端也需要提供證書(openssl)。

實現:載入api證書檔案

private sslcontext getsslcontext()

throws exception

//商戶雙向證書(pkcs12證書)

keystore keystore = keystore.

getinstance

("pkcs12");

//載入檔案

fileinputstream fis1 =

newfileinputstream

(file1)

;try

finally

//載入證書

return sslcontextbuilder.

create()

.loadkeymaterial

(keystore, wxconfig.merch_id.

tochararray()

).build()

;}

發起https請求並獲得反饋報文

/**

* 帶證書推送xml內容

* @param url 請求url

* @param xmltext 提交xml報文

* @return 返回報文

* @throws exception 異常資訊

* @see 使用證書推送xml內容

*/public string dopost_withscert

(string url, string xmltext)

throws exception

//指定tlsv1協議

;}

說明:適用httpclient 4.5.x版本庫。

構造sslconnectionsocketfactory的方法使用的是非廢除的方法,其原型為:

/**

* @since 4.4

*/public

sslconnectionsocketfactory

(final sslcontext sslcontext,

final string[

] supportedprotocols,

final string[

] supportedciphersuites,

final hostnameverifier hostnameverifier)

;

其中hostnameverifier用的是noophostnameverifier.instance

其描述為:

/**

* the no_op hostnameverifier essentially turns hostname verification

* off. this implementation is a no-op, and never throws the sslexception.

* * @since 4.4

*/

表明其是乙個簡單的、實際上不進行驗證的驗證器。

已廢除的構造sslconnectionsocketfactory的方法原型為:

/**

* @deprecated (4.4) use

*/@deprecated

public

sslconnectionsocketfactory

(final sslcontext sslcontext,

final string[

] supportedprotocols,

final string[

] supportedciphersuites,

final x509hostnameverifier hostnameverifier)

;}

微信退款機制

處理退款 param out trade no param total fee param refund fee param from 1餘額 2未結算 return array throws exception 策略一 當天支付的錢,從未結算中退 非當天支付的錢,從餘額中退 結算的錢到餘額中有個緩...

微信對接系列 微信自動退款

業務背景 業務流程 退款單狀態 待退款 退款中 退款完成 自動退款失敗等 此證書是用於呼叫申請退款時使用 需要先安裝到系統中 1.引數錯誤問題,介面要求商戶訂單號 退款單號 退款金額 訂單金額為業務要求必傳字段 a 其中商戶訂單號為你要退的訂單支付時傳入的訂單號 c 指當前訂單多次退款金額合計不得超...

php 實現微信退款

要是在測試的時候,網頁提示 curl 58 說明 證書的路徑出現問題 這裡要填物理路徑,也就是絕對路徑 網頁提示curl 52 說明你的證書引入少了,在官方的demo上只有兩個證書 apiclient cert.pem和 apiclient key.pem 你還需要引入乙個證書 rootca.pem...