摘要:項目版本微信的退款操作,通過封裝與前面支付寶退款除了配置文件,基本一樣。微信僅能每次退款筆如果想要實現一次退訂多筆訂單,可在客戶端通過循環來處理。
payment 項目2.0版本
微信的退款操作,通過封裝與前面支付寶退款除了配置文件,基本一樣。
退款代碼如下:
use PaymentRefundContext; use PaymentCommonPayException; use PaymentConfig; // 生成退款單號 便于測試 function createPayid() { return date("Ymdhis", time()).substr(floor(microtime()*1000),0,1).rand(0,9); } $config = [ "app_id" => "wxa244db59a34996fc", // 公眾賬號ID "mch_id" => "1331302101",// 商戶id "md5_key" => "adslkfjiKQJLAIQLJ393201482333333",// md5 秘鑰 "notify_url" => "http://test.helei.com/pay-notify.html", "time_expire" => "14", // 涉及資金流動時 退款 轉款,需要提供該文件 "cert_path" => dirname(__FILE__) . DIRECTORY_SEPARATOR . "wx" . DIRECTORY_SEPARATOR . "apiclient_cert.pem", "key_path" => dirname(__FILE__) . DIRECTORY_SEPARATOR . "wx" . DIRECTORY_SEPARATOR . "apiclient_key.pem", ]; // 退款數據 $reundData = [ "refund_no" => createPayid(), "refund_data" => [ ["transaction_id" => "4007572001201607098672633287", "amount" => "5", "refund_fee" => "5", "reason" => "微信測試金額退款"], ], ]; $refund = new RefundContext(); try { // 微信退款 $type = Config::WEIXIN; $refund->initRefund(Config::WEIXIN, $wxconfig); $ret = $refund->refund($reundData); } catch (PayException $e) { echo $e->errorMessage();exit; } var_dump($ret);
當前sdk支付寶可一次退款多筆數據。微信僅能每次退款1筆(如果想要實現一次退訂多筆訂單,可在客戶端通過循環來處理。)
接下來解釋下相關的配置信息
微信的配置文件解釋參考 微信的三種支付方式接入:APP支付、公眾號支付、掃碼支付 中的微信配置信息。
請求參數參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
transaction_id | 微信交易號 | 微信系統中的交易流水號,可用于查詢訂單狀態 | 是 |
amount | 總金額 | 微信交易對應的交易總金額 | 是 |
refund_fee | 退款金額 | 本次申請的退款金額,退款金額不能大于總金額 | 是 |
reason | 退款理由 | 退款的理由,可在用戶端查看到 | 是 |
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
is_success | 成功標識 | 請求是否成功,T:成功,F:失敗 | 是 |
error | 錯誤提示 | 只有is_success=F時才返回 | 否 |
response | 響應數據 | 查詢成功后返回的數據,一個數組,is_success=T時返回 | 否 |
response 數據描述
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
transaction_id | 微信訂單號 | 微信訂單號,下單成功后,微信返回 | 是 |
order_no | 商戶訂單號 | 商戶系統內部的訂單號 | 是 |
refund_no | 商戶退款單號 | 商戶退款單號 | 是 |
refund_id | 微信退款單號 | 微信退款單號 | 是 |
refund_fee | 申請退款金額 | 退款總金額,單位為元(已被我處理),可以做部分退款 | 否 |
amount | 訂單金額 | 訂單總金額,單位為元,最多兩位小數 | 否 |
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21898.html
摘要:本文是淺析微信支付系列文章的第十一篇,主要講解支付驗收示例和驗收指引。為保證商戶接入質量,提升交易安全及用戶體驗,微信支付的合作服務商在正式上線交易前,必須先根據本文指引完成驗收。 本文是【淺析微信支付】系列文章的第十一篇,主要講解支付驗收示例和驗收指引。 淺析微信支付系列已經更新十一篇了喲~,沒有看過的朋友們可以看一下。 淺析微信支付:如何使用沙箱環境測試 淺析微信支付:下載對賬單...
摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經驗,與君共勉。下面講一下我是如何去學習微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經驗,與君共勉。 以下會分幾個步驟講一下我學習微信支付的過程,也是一部辛酸史,也是希望朋友們不要再次跌進...
摘要:是金額企業付款金額,單位為元是企業付款描述信息企業付款操作說明信息。 payment 項目2.0版本 這個功能與支付寶的批量付款到支付寶帳號功能類似。但是當前支付寶這個接口已經停止審核了。 當前很多提問平臺就用到了這兩個平臺。比如[來問醫生],你提的問題如果被人看了。醫生得0.5元,你得0.5元。然后累積夠1元后,[來問醫生]就會通過微信的企業付款功能給你的微信余額增加1元。 代碼調用...
摘要:本文是淺析微信支付系列文章的第十篇,主要講解如何使用沙箱環境來測試微信支付。圖為微信支付仿真測試系統后簡稱仿真系統的簡化原理圖。沙箱說明微信支付沙箱環境,是提供給微信支付商戶的開發者,用于模擬支付及回調通知。 本文是【淺析微信支付】系列文章的第十篇,主要講解如何使用沙箱環境來測試微信支付。 淺析微信支付系列已經更新十篇了喲~,沒有看過的朋友們可以看一下。 淺析微信支付:下載對賬單和資...
摘要:之前沒有接入該功能時,商城用戶如果想要退款,我們需要先查到對應用戶的支付流水號,然后寫退款申請給財務,財務到支付寶進行查詢。調用支付寶支持多筆退款。 payment 項目2.0版本 這個接口主要用于退款操作。之前沒有接入該功能時,商城用戶如果想要退款,我們需要先查到對應用戶的支付流水號,然后寫退款申請給財務,財務到支付寶進行查詢。完了之后原路退回。然后告訴程序,程序再去修改訂單狀態。...
閱讀 3669·2021-11-23 09:51
閱讀 1661·2021-10-22 09:53
閱讀 1345·2021-10-09 09:56
閱讀 853·2019-08-30 13:47
閱讀 2155·2019-08-30 12:55
閱讀 1597·2019-08-30 12:46
閱讀 1105·2019-08-30 10:51
閱讀 2410·2019-08-29 12:43