|
|
- package weixinrpc
-
- import (
- "encoding/json"
- )
-
- /**
- * 订单号,子单号,总金额,退款金额,微信商户id,微信商户平台API私钥,平台证书,商户平台证书序列号,商品名,退款原因,商品id,回调地址
- */
- func PayRefund(order_sn, sn, total, refund, wx_mp_mch_id, wx_mch_apiclient_key,
- wx_pay_cert, mch_serial_no, title, uuid, reason, notify_url string,
- url ...string) (map[string]string, error) {
-
- conn, err := rpc_server_conn(url...)
- if err != nil {
- return nil, err
- }
- defer conn.Close()
-
- data := map[string]string{
- "order_sn": order_sn,
- "sn": sn,
- "total": total,
- "refund": refund,
- "wx_mp_mch_id": wx_mp_mch_id,
- "wx_mch_apiclient_key": wx_mch_apiclient_key,
- "wx_pay_cert": wx_pay_cert,
- "mch_serial_no": mch_serial_no,
- "reason": reason,
- "uuid": uuid,
- "title": title,
- "notify_url": notify_url,
- }
-
- req, err := SetReqData(data)
- if err != nil {
- return nil, err
- }
- res := &Response{}
-
- err = conn.PayRefund(req, res)
-
- if err != nil {
- return nil, err
- }
-
- res_data_de, err := GetResData(res)
- if err != nil {
- return nil, err
- }
-
- if res_data_de == "" {
- return nil, nil
- }
- var res_arr map[string]string
-
- err = json.Unmarshal([]byte(res_data_de), &res_arr)
-
- if err != nil {
- return nil, err
- }
- return res_arr, nil
- }
|