微信退款API的操作方法

2022-09-09 17:21:34 字數 3316 閱讀 4150

首先我們需要申請到商戶的key金鑰 這個是在

詳情請看     

應用場景

注意:1

、交易時間超過一年的訂單無法提交退款23

、請求頻率限制:150qps,即每秒鐘正常的申請退款請求次數不超過150次

4、每個支付訂單的部分退款次數不能超過50次

5、如果同乙個使用者有多筆退款,建議分不同批次進行退款,避免併發退款導致退款失敗

6、申請退款介面的返回僅代表業務的受理情況,具體退款是否成功,需要通過退款查詢介面獲取結果。

7、乙個月之前的訂單申請退款頻率限制為:5000/min

我們退款的時候需要注意要準備證書使用,在支付的時候不是必要條件

請求需要雙向證書。 

點選申請證書,跳出生成api證書介面。點選「允許訪問」,同意網頁訪問剪下板;

四、按照要求填寫商戶資訊,點選下一步;

五、複製請求串到剪下板,在之前的生成api證書介面貼上,輸入「簡訊驗證碼」和「登入密碼」;點選下一步,進入複製證書串介面。

六、複製證書串到剪下板,在證書工具的貼上證書串介面,點選貼上按鈕。然後進入下一步,生成證書。

下面是請求時需要的參

欄位名變數名

必填型別

示例值描述

公眾賬號id

是string(32)

wx8888888888888888

商戶號mch_id

是string(32)

1900000109

隨機字串

nonce_str

是string(32)

5k8264iltkch16cq2502si8znmtm67vs

隨機字串,不長於32位。

簽名sign

是string(32)

c380bec2bfd727a4b6845133519f3ad6

簽名,簽名型別

sign_type

否string(32)

hmac-sha256

簽名型別,目前支援hmac-sha256和md5,預設為md5

transaction_id

二選一string(32)

1217752501201407033233368018

商戶訂單號

out_trade_no

string(32)

1217752501201407033233368018

商戶系統內部訂單號,要求32個字元內(最少6個字元),只能是數字、大小寫字母_-|*且在同乙個商戶號下唯一。

transaction_id、out_trade_no二選一,如果同時存在優先順序:transaction_id> out_trade_no

商戶退款單號

out_refund_no

是string(64)

1217752501201407033233368018

商戶系統內部的退款單號,商戶系統內部唯一,只能是數字、大小寫字母_-|*@ ,同一退款單號多次請求只退一筆。

訂單金額

total_fee

是int

100訂單總金額,單位為分,只能為整數

退款金額

refund_fee

是int

100退款總金額,訂單總金額,單位為分,只能為整數,

退款貨幣種類

refund_fee_type

否string(8)

cny退款貨幣型別,需與支付一致,或者不填。符合iso 4217標準的三位字母**,預設人民幣:cny,

退款原因

refund_desc

否string(80)

商品已售完

若商戶傳入,會在下發給使用者的退款訊息中體現退款原因

注意:若訂單退款金額≤1元,且屬於部分退款,則不會在退款訊息中體現退款原因

退款資金**

refund_account

否string(30)

refund_source_recharge_funds

僅針對老資金流商戶使用

refund_source_unsettled_funds---未結算資金退款(預設使用未結算資金退款)

refund_source_recharge_funds---可用餘額退款

退款結果通知url

notify_url

否string(256)

如果引數中傳了notify_url,則商戶平台上配置的**位址將不會生效。

由於跟支付的時候呼叫的一樣 我們這裡只寫核心的轉換** 詳情請看部落格的支付流程

$post_data = "

" "

.$body."

".$mch_id."

".$nonce_str."

".$notify_url."

".$out_trade_no."

".$spbill_create_ip."

".$total_fee."

".$trade_type."

".$sign."

";//拼接成xml 格式

//$scene_info

// $url = '

';$dataxml=$this->posturl($url,$post_data);

$reruxml = (array)******xml_load_string($dataxml, '

******xmlelement

', libxml_nocdata);

//請求接收回來的資料轉換為陣列的格式

xml 轉陣列

//

**資訊

public

function wxhd()

}

function posturl($data, $url)

//忽略header頭資訊

curl_setopt($ch, curlopt_header, 0

);

//設定超時時間

curl_setopt($ch, curlopt_timeout, 10

);

//傳送請求

$output =curl_exec($ch);

//關閉curl

curl_close($ch);

//返回資料

return

$output;

}

微信退款操作總結

要點 請求需要雙向證書。相比支付 預支付 退款操作需要雙向證書,即客戶端也需要提供證書 openssl 實現 載入api證書檔案 private sslcontext getsslcontext throws exception 商戶雙向證書 pkcs12證書 keystore keystore k...

關於微信支付,退款操作,原路返回

有這樣的場景,使用者購買商品。但是退款的時候要去除運費。或者,使用者購買多個商家的商品,統一支付。但是使用者只退其中乙個商家的商品。又或者,使用者乙個訂單購買多個商品。只退其中乙個商品。下面看看實際的情況。從上圖可以看出,我支付2分錢,可以一次性退。也可以,一次退1分,分兩次退還。而且,用銀行卡就退...

微信小程式JS字串操作方法彙總

對於字串的切割擷取平時所用可能不是特別多,而且分的比較細,所以自備自查。有備無患。由於之前所有均在乙個demo測試,若是 打錯了,敬請諒解。一些其餘屬性找時間繼續新增。1.函式 split 功能 使用乙個指定的分隔符把乙個字串分割儲存到陣列 例子 str jpg bmp gif ico png ar...