package wxpayapi import ( "io/ioutil" "strings" "testing" "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/utils" "github.com/clbanning/mxj" "go.uber.org/zap" ) var ( api *API sugarLogger *zap.SugaredLogger ) func init() { logger, _ := zap.NewDevelopment() sugarLogger = logger.Sugar() baseapi.Init(sugarLogger) certPEMBlock, _ := ioutil.ReadFile("1390686702_20190115_cert/apiclient_cert.pem") keyPEMBlock, _ := ioutil.ReadFile("1390686702_20190115_cert/apiclient_key.pem") api = NewWithCertificate("wx2bb99eb5d2c9b82c", "XKJPOIHJ233adf01KJIXlIeQDSDKFJAD", "1390686702", certPEMBlock, keyPEMBlock) // api = New("wx4b5930c13f8b1170", "XKJPOIHJ233adf01KJIXlIeQDSDKFJAD", "1390686702") } func TestOrderQuery(t *testing.T) { result, err := api.OrderQuery("4200000411201910186159598703", "") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestCreateUnifiedOrder(t *testing.T) { orderNo := utils.GetUUID() t.Log(orderNo) result, err := api.CreateUnifiedOrder(&CreateOrderParam{ Body: "这里一个测试商品", NotifyURL: "http://callback.test.jxc4.com/wxpay/msg/", OutTradeNo: orderNo, SpbillCreateIP: "114.114.114.114", TradeType: TradeTypeNative, TotalFee: 10, ProfitSharing: OptYes, }) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestCloseOrder(t *testing.T) { orderNo := "5CA4BC5E22C611EA9AB9186590E02977" // utils.GetUUID() // t.Log(orderNo) err := api.CloseOrder(orderNo) if err != nil { t.Fatal(err) } } func TestPayRefund(t *testing.T) { result, err := api.PayRefund(&PayRefundParam{ TransactionID: "", OutTradeNo: "88316516447981", NotifyURL: "http://callback.test.jxc4.com/wxpay/msg/", OutRefundNo: "88316516447981", TotalFee: 8987, RefundFee: 8987, }) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestXml2Json(t *testing.T) { xmlStr := strings.Replace(` `, "\\n", "\n", -1) mv, err := mxj.NewMapXml([]byte(xmlStr)) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(mv, false)) } func TestMultiProfitSharing(t *testing.T) { result, err := api.MultiProfitSharing(&MultiProfitSharing{ TransactionID: "4200000503202002048392355582", OutOrderNo: "1730C9A5473311EAAAEA7824AF852DFE", Receivers: `[{"type":"PERSONAL_WECHATID","account":"wxid_r93tvy06srbp22","amount":1,"description":"分到个人"}]`, }) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestTransfers(t *testing.T) { orderNo := utils.GetUUID() result, err := api.Transfers(&Transfers{ PartnerTradeNo: orderNo, OpenID: "oYN_usv1RPvrSxCvo1WsbwI8lZa0", CheckName: "FORCE_CHECK", ReUserName: "苏尹岚", Amount: 100, Desc: "测试", SpbillCreateIP: "114.114.114.114", }) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestAddProfitSharingReceiver(t *testing.T) { result, err := api.AddProfitSharingReceiver(&ProfitSharingReceiver{ Receiver: `{ "type": "PERSONAL_WECHATID", "account":"wxid_r93tvy06srbp22", "name": "苏尹岚", "relation_type": "STAFF" }`, }) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestDeleteProfitSharingReceiver(t *testing.T) { result, err := api.DeleteProfitSharingReceiver(&ProfitSharingReceiver{ Receiver: `{ "type": "PERSONAL_WECHATID", "account":"wxid_r93tvy06srbp22" }`, }) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) }