云闪付
This commit is contained in:
parent
44780174fb
commit
686b1e54cf
|
@ -10,9 +10,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
AppId string `json:"app_id"`
|
AppId string `json:"app_id"`
|
||||||
BaseUri string `json:"base_uri"`
|
|
||||||
|
|
||||||
ChNlId string `json:"chnlId"` // 渠道方代码
|
ChNlId string `json:"chnlId"` // 渠道方代码
|
||||||
IV string `json:"iv"` // 加密密钥
|
IV string `json:"iv"` // 加密密钥
|
||||||
KEY string `json:"key"` // 加密密钥
|
KEY string `json:"key"` // 加密密钥
|
||||||
|
|
|
@ -16,6 +16,8 @@ const (
|
||||||
CookieValue = "union_pay_cpn"
|
CookieValue = "union_pay_cpn"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const baseUri = "https://openapi.unionpay.com"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
orderMethod = "/upapi/mkt/cpn/couponAcquire/v1"
|
orderMethod = "/upapi/mkt/cpn/couponAcquire/v1"
|
||||||
orderBizMethod = "mkt.cpn.couponAcquire.v1"
|
orderBizMethod = "mkt.cpn.couponAcquire.v1"
|
||||||
|
@ -43,7 +45,7 @@ func (p *UnionPayCpnService) Order(ctx context.Context, request *proto.OrderRequ
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var response po.OrderResp
|
var response po.OrderResp
|
||||||
url := fmt.Sprintf("%s%s", c.BaseUri, orderMethod)
|
url := fmt.Sprintf("%s%s", baseUri, orderMethod)
|
||||||
err = requests.URL(url).Headers(headers(c, uv, orderBizMethod)).BodyJSON(uv).ToJSON(&response).Fetch(ctx)
|
err = requests.URL(url).Headers(headers(c, uv, orderBizMethod)).BodyJSON(uv).ToJSON(&response).Fetch(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("请求异常,msg:" + err.Error())
|
return nil, fmt.Errorf("请求异常,msg:" + err.Error())
|
||||||
|
@ -62,7 +64,7 @@ func (p *UnionPayCpnService) Query(ctx context.Context, request *proto.QueryRequ
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var response po.QueryResp
|
var response po.QueryResp
|
||||||
url := fmt.Sprintf("%s%s", conf.BaseUri, queryMethod)
|
url := fmt.Sprintf("%s%s", baseUri, queryMethod)
|
||||||
err = requests.URL(url).Headers(headers(conf, uv, queryBizMethod)).BodyJSON(uv).ToJSON(&response).Fetch(ctx)
|
err = requests.URL(url).Headers(headers(conf, uv, queryBizMethod)).BodyJSON(uv).ToJSON(&response).Fetch(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("请求异常,msg:" + err.Error())
|
return nil, fmt.Errorf("请求异常,msg:" + err.Error())
|
||||||
|
|
|
@ -11,18 +11,25 @@ import (
|
||||||
|
|
||||||
func config() []byte {
|
func config() []byte {
|
||||||
c := &Config{
|
c := &Config{
|
||||||
AppId: "up_49pau3fu6latj_03h",
|
AppId: "up_49pau3fu6latj_03h",
|
||||||
BaseUri: "https://openapi.unionpay.com",
|
ChNlId: "8091",
|
||||||
ChNlId: "8091",
|
IV: "0123456789123456",
|
||||||
IV: "0123456789123456",
|
KEY: "16fb034dead44ff6f599b1ca373ccfd1",
|
||||||
KEY: "16fb034dead44ff6f599b1ca373ccfd1",
|
Prk: "MIIEogIBAAKCAQEAllAo3AbVfNg1iDT3CisgueIm2Pya2C6qatF0S8/aAKW8A6HBIuvrk1sb2TjbI0UDVowaNDsPa7nNdZHkQa6CQKf2BwFRy7gB8vAD1YSq23NTwplGe5IpuRe2Cbljh5diQ/+0zwZPZQEvjSMqZJILYVluGBw656JSndRdXHCs608CBib14l35A6D7rSZNd53nM9yXj/WOpLuY/jX0sbKJrBUIhcQcMiCFK/Nx06vhhCGZSWwaj0TTSMEOj9nyU+56MMx+N7527JUnOYMyVbbEx5h1S5sPjntMVVzz8c8FC5MKbgXCgjTt5Depl6YgrvoSCNNXZqnXN2l9dtBxKGSEdQIDAQABAoIBAD7r606/pZqPP0l3MnqVNyvY2X43r/ITBs+UQmSB67Ydqqiyi5C8xW530x6JSGJpP055c3atynTD4Jf4rF46WNgL91dTXBQ1QMubYV9+G6+lhUiOtQyBUOnkXRWQ/3MBEed5IQ0QjSew6WDheZuD7zOfJhD9sELKll7vSO2rVRdi5Kf3pps0K4aeYLvlelHjPtu2EkMyAD4d37QO2q8A/+acOf7wyx1uZ55nobe0jVgQBa2Tuuwhd2JilmsgMvcVxeAJoocyQxPVTU+iMidgZKxyW/fJUaR7V2KgKfP0H2OZbSruD2HyHL7o70+/XBg250msh691oTCXSGWiITFXRDkCgYEA1KF3daSzWK2vTZeNMxj++VRNZfyigNqBwgRZxrSGIUeNGpDdDp7flldM/fO/0RijKnh+nXLBCMZlxffSI7W3jkkjosEq0uyXv6Ez4WlhwHEAE6KrZYQ8VDU3We1LXERu/3SMU16Uq2Vme8J6kpshr7OLGeuTNfsSG79lpHU/OO8CgYEAtPjF/AY/t85u4JV0w6FJ/K7Iya+AyIyZhsgnxsPv5NwVtNsQzTRbXlpgnVmaKUXzLBTBJA2P6Gie35R6kJuOuMnvHjtG7umI5lOUJaqYk5GZEXHxbIKTXUxAbv+WKRHcFwcH54Ppurs7bN6ultWdE+yyU5PvabFRAidL+rV+MNsCgYBkqx2XwSZ4MaLxpXLgYlE1UkhipL17K/iLFuw6O3XVg762eSdvqKBK2YJGKYUDRhraHLo1aQMjWGsO00nWRk5lOxN4FuRjgEhIHdYmPnJdXiKfKUDkizrU020lUkd/o5a5s0BMqFbS3usqZOULTA8i1GpjFzlXMUtdf7xrpGcOWQKBgFJXWuX4Befg8owXFKCqc1qYQF2cEBGv/27XBVon7rAH/4xhnHxx1RzSLGGL0lvzKtikvNhln1PUvmzmRvoi/UZRAw6TVAwCkDqUTrTwsSl7ttS8Lmf75Ycu2aZnfnBDYwvLNCp/18oRxNEdZPzWRvk42k6y4d0KQ9yh+q0hBUC/AoGASgJro5HgKWkSzYx1Fk3rvo7EWeZwXNfWuzIhtCiVDG4+df0ZdybkbjxbaRwL2rbTSBeqSaZw4UwpE1JyF8erfzx0qpHCY5V3ocnA8kg56mX9kE5H9WKjMe1tbuZpba4i08zvM8vpz9gASf3z/WrWWqgpvynxDWpy4xFAqrWC0VQ=",
|
||||||
Prk: "MIIEogIBAAKCAQEAllAo3AbVfNg1iDT3CisgueIm2Pya2C6qatF0S8/aAKW8A6HBIuvrk1sb2TjbI0UDVowaNDsPa7nNdZHkQa6CQKf2BwFRy7gB8vAD1YSq23NTwplGe5IpuRe2Cbljh5diQ/+0zwZPZQEvjSMqZJILYVluGBw656JSndRdXHCs608CBib14l35A6D7rSZNd53nM9yXj/WOpLuY/jX0sbKJrBUIhcQcMiCFK/Nx06vhhCGZSWwaj0TTSMEOj9nyU+56MMx+N7527JUnOYMyVbbEx5h1S5sPjntMVVzz8c8FC5MKbgXCgjTt5Depl6YgrvoSCNNXZqnXN2l9dtBxKGSEdQIDAQABAoIBAD7r606/pZqPP0l3MnqVNyvY2X43r/ITBs+UQmSB67Ydqqiyi5C8xW530x6JSGJpP055c3atynTD4Jf4rF46WNgL91dTXBQ1QMubYV9+G6+lhUiOtQyBUOnkXRWQ/3MBEed5IQ0QjSew6WDheZuD7zOfJhD9sELKll7vSO2rVRdi5Kf3pps0K4aeYLvlelHjPtu2EkMyAD4d37QO2q8A/+acOf7wyx1uZ55nobe0jVgQBa2Tuuwhd2JilmsgMvcVxeAJoocyQxPVTU+iMidgZKxyW/fJUaR7V2KgKfP0H2OZbSruD2HyHL7o70+/XBg250msh691oTCXSGWiITFXRDkCgYEA1KF3daSzWK2vTZeNMxj++VRNZfyigNqBwgRZxrSGIUeNGpDdDp7flldM/fO/0RijKnh+nXLBCMZlxffSI7W3jkkjosEq0uyXv6Ez4WlhwHEAE6KrZYQ8VDU3We1LXERu/3SMU16Uq2Vme8J6kpshr7OLGeuTNfsSG79lpHU/OO8CgYEAtPjF/AY/t85u4JV0w6FJ/K7Iya+AyIyZhsgnxsPv5NwVtNsQzTRbXlpgnVmaKUXzLBTBJA2P6Gie35R6kJuOuMnvHjtG7umI5lOUJaqYk5GZEXHxbIKTXUxAbv+WKRHcFwcH54Ppurs7bN6ultWdE+yyU5PvabFRAidL+rV+MNsCgYBkqx2XwSZ4MaLxpXLgYlE1UkhipL17K/iLFuw6O3XVg762eSdvqKBK2YJGKYUDRhraHLo1aQMjWGsO00nWRk5lOxN4FuRjgEhIHdYmPnJdXiKfKUDkizrU020lUkd/o5a5s0BMqFbS3usqZOULTA8i1GpjFzlXMUtdf7xrpGcOWQKBgFJXWuX4Befg8owXFKCqc1qYQF2cEBGv/27XBVon7rAH/4xhnHxx1RzSLGGL0lvzKtikvNhln1PUvmzmRvoi/UZRAw6TVAwCkDqUTrTwsSl7ttS8Lmf75Ycu2aZnfnBDYwvLNCp/18oRxNEdZPzWRvk42k6y4d0KQ9yh+q0hBUC/AoGASgJro5HgKWkSzYx1Fk3rvo7EWeZwXNfWuzIhtCiVDG4+df0ZdybkbjxbaRwL2rbTSBeqSaZw4UwpE1JyF8erfzx0qpHCY5V3ocnA8kg56mX9kE5H9WKjMe1tbuZpba4i08zvM8vpz9gASf3z/WrWWqgpvynxDWpy4xFAqrWC0VQ=",
|
Npk: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy05sCMKEYZQGryKKq7qxxMi4uIRcOuv0aQcptjEifc/TS56bU0iGlkuH9k90tPp6EoKYLUfnL1FdHQOWXboFktwoxjy372gc6CsQfU9ZNjsWMYI8CTZF6gWLk4HjfBO4HcCKJs7oGntgVZxfVqVxJ8N/M1ZC2sDuVkoHYymONgNwgO+yYXrAlPPfJBltG5QNOcGTHBZ4PTc6A0M17+2BiskKUJfLEbN2soEZR0b5v5qy0D1xe5w+CdNcvtEb5CemPRxxRYjIqfHlhQPO7ZCUFPmhtoIbtBYG+BIU+qK3Q1DDiBndOVkQGVBQcOnMfYpxp82hlA1TAVeRICWubH3nJwIDAQAB",
|
||||||
Npk: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy05sCMKEYZQGryKKq7qxxMi4uIRcOuv0aQcptjEifc/TS56bU0iGlkuH9k90tPp6EoKYLUfnL1FdHQOWXboFktwoxjy372gc6CsQfU9ZNjsWMYI8CTZF6gWLk4HjfBO4HcCKJs7oGntgVZxfVqVxJ8N/M1ZC2sDuVkoHYymONgNwgO+yYXrAlPPfJBltG5QNOcGTHBZ4PTc6A0M17+2BiskKUJfLEbN2soEZR0b5v5qy0D1xe5w+CdNcvtEb5CemPRxxRYjIqfHlhQPO7ZCUFPmhtoIbtBYG+BIU+qK3Q1DDiBndOVkQGVBQcOnMfYpxp82hlA1TAVeRICWubH3nJwIDAQAB",
|
|
||||||
}
|
}
|
||||||
marshal, _ := json.Marshal(c)
|
marshal, _ := json.Marshal(c)
|
||||||
return marshal
|
return marshal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConfig(t *testing.T) {
|
||||||
|
t.Run("TestConfig", func(t *testing.T) {
|
||||||
|
c := config()
|
||||||
|
fmt.Printf("%+s\n", string(c))
|
||||||
|
assert.NotEmpty(t, c)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
var server = &UnionPayCpnService{}
|
var server = &UnionPayCpnService{}
|
||||||
|
|
||||||
func TestOrder(t *testing.T) {
|
func TestOrder(t *testing.T) {
|
||||||
|
|
|
@ -10,9 +10,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
AppId string `json:"app_id"`
|
AppId string `json:"app_id"`
|
||||||
BaseUri string `json:"base_uri"`
|
|
||||||
|
|
||||||
ChNlId string `json:"chnlId"` // 渠道方代码
|
ChNlId string `json:"chnlId"` // 渠道方代码
|
||||||
IV string `json:"iv"` // 加密密钥
|
IV string `json:"iv"` // 加密密钥
|
||||||
KEY string `json:"key"` // 加密密钥
|
KEY string `json:"key"` // 加密密钥
|
||||||
|
|
|
@ -18,6 +18,8 @@ const (
|
||||||
CookieValue = "union_pay_redpack"
|
CookieValue = "union_pay_redpack"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const baseUri = "https://openapi.unionpay.com"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
orderMethod = "/upapi/mkt/pnt/pntAcquire/v1"
|
orderMethod = "/upapi/mkt/pnt/pntAcquire/v1"
|
||||||
orderBizMethod = "mkt.pnt.pntAcquire.v1"
|
orderBizMethod = "mkt.pnt.pntAcquire.v1"
|
||||||
|
@ -43,7 +45,7 @@ func (p *UnionPayCpnService) Order(ctx context.Context, request *proto.OrderRequ
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var response po.OrderResp
|
var response po.OrderResp
|
||||||
url := fmt.Sprintf("%s%s", c.BaseUri, orderMethod)
|
url := fmt.Sprintf("%s%s", baseUri, orderMethod)
|
||||||
err = requests.URL(url).Headers(headers(c, uv, orderBizMethod)).BodyJSON(uv).ToJSON(&response).Fetch(ctx)
|
err = requests.URL(url).Headers(headers(c, uv, orderBizMethod)).BodyJSON(uv).ToJSON(&response).Fetch(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("请求异常,msg:" + err.Error())
|
return nil, fmt.Errorf("请求异常,msg:" + err.Error())
|
||||||
|
@ -65,7 +67,7 @@ func (p *UnionPayCpnService) Query(ctx context.Context, request *proto.QueryRequ
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var response po.QueryResp
|
var response po.QueryResp
|
||||||
url := fmt.Sprintf("%s%s", c.BaseUri, queryMethod)
|
url := fmt.Sprintf("%s%s", baseUri, queryMethod)
|
||||||
|
|
||||||
h := new(http.Client)
|
h := new(http.Client)
|
||||||
h.Timeout = 20 * time.Second
|
h.Timeout = 20 * time.Second
|
||||||
|
|
|
@ -11,13 +11,12 @@ import (
|
||||||
|
|
||||||
func config() []byte {
|
func config() []byte {
|
||||||
c := &Config{
|
c := &Config{
|
||||||
AppId: "up_49pau3fu6latj_03h",
|
AppId: "up_49pau3fu6latj_03h",
|
||||||
BaseUri: "https://openapi.unionpay.com",
|
ChNlId: "8091",
|
||||||
ChNlId: "8091",
|
IV: "0123456789123456",
|
||||||
IV: "0123456789123456",
|
KEY: "16fb034dead44ff6f599b1ca373ccfd1",
|
||||||
KEY: "16fb034dead44ff6f599b1ca373ccfd1",
|
Prk: "MIIEogIBAAKCAQEAllAo3AbVfNg1iDT3CisgueIm2Pya2C6qatF0S8/aAKW8A6HBIuvrk1sb2TjbI0UDVowaNDsPa7nNdZHkQa6CQKf2BwFRy7gB8vAD1YSq23NTwplGe5IpuRe2Cbljh5diQ/+0zwZPZQEvjSMqZJILYVluGBw656JSndRdXHCs608CBib14l35A6D7rSZNd53nM9yXj/WOpLuY/jX0sbKJrBUIhcQcMiCFK/Nx06vhhCGZSWwaj0TTSMEOj9nyU+56MMx+N7527JUnOYMyVbbEx5h1S5sPjntMVVzz8c8FC5MKbgXCgjTt5Depl6YgrvoSCNNXZqnXN2l9dtBxKGSEdQIDAQABAoIBAD7r606/pZqPP0l3MnqVNyvY2X43r/ITBs+UQmSB67Ydqqiyi5C8xW530x6JSGJpP055c3atynTD4Jf4rF46WNgL91dTXBQ1QMubYV9+G6+lhUiOtQyBUOnkXRWQ/3MBEed5IQ0QjSew6WDheZuD7zOfJhD9sELKll7vSO2rVRdi5Kf3pps0K4aeYLvlelHjPtu2EkMyAD4d37QO2q8A/+acOf7wyx1uZ55nobe0jVgQBa2Tuuwhd2JilmsgMvcVxeAJoocyQxPVTU+iMidgZKxyW/fJUaR7V2KgKfP0H2OZbSruD2HyHL7o70+/XBg250msh691oTCXSGWiITFXRDkCgYEA1KF3daSzWK2vTZeNMxj++VRNZfyigNqBwgRZxrSGIUeNGpDdDp7flldM/fO/0RijKnh+nXLBCMZlxffSI7W3jkkjosEq0uyXv6Ez4WlhwHEAE6KrZYQ8VDU3We1LXERu/3SMU16Uq2Vme8J6kpshr7OLGeuTNfsSG79lpHU/OO8CgYEAtPjF/AY/t85u4JV0w6FJ/K7Iya+AyIyZhsgnxsPv5NwVtNsQzTRbXlpgnVmaKUXzLBTBJA2P6Gie35R6kJuOuMnvHjtG7umI5lOUJaqYk5GZEXHxbIKTXUxAbv+WKRHcFwcH54Ppurs7bN6ultWdE+yyU5PvabFRAidL+rV+MNsCgYBkqx2XwSZ4MaLxpXLgYlE1UkhipL17K/iLFuw6O3XVg762eSdvqKBK2YJGKYUDRhraHLo1aQMjWGsO00nWRk5lOxN4FuRjgEhIHdYmPnJdXiKfKUDkizrU020lUkd/o5a5s0BMqFbS3usqZOULTA8i1GpjFzlXMUtdf7xrpGcOWQKBgFJXWuX4Befg8owXFKCqc1qYQF2cEBGv/27XBVon7rAH/4xhnHxx1RzSLGGL0lvzKtikvNhln1PUvmzmRvoi/UZRAw6TVAwCkDqUTrTwsSl7ttS8Lmf75Ycu2aZnfnBDYwvLNCp/18oRxNEdZPzWRvk42k6y4d0KQ9yh+q0hBUC/AoGASgJro5HgKWkSzYx1Fk3rvo7EWeZwXNfWuzIhtCiVDG4+df0ZdybkbjxbaRwL2rbTSBeqSaZw4UwpE1JyF8erfzx0qpHCY5V3ocnA8kg56mX9kE5H9WKjMe1tbuZpba4i08zvM8vpz9gASf3z/WrWWqgpvynxDWpy4xFAqrWC0VQ=",
|
||||||
Prk: "MIIEogIBAAKCAQEAllAo3AbVfNg1iDT3CisgueIm2Pya2C6qatF0S8/aAKW8A6HBIuvrk1sb2TjbI0UDVowaNDsPa7nNdZHkQa6CQKf2BwFRy7gB8vAD1YSq23NTwplGe5IpuRe2Cbljh5diQ/+0zwZPZQEvjSMqZJILYVluGBw656JSndRdXHCs608CBib14l35A6D7rSZNd53nM9yXj/WOpLuY/jX0sbKJrBUIhcQcMiCFK/Nx06vhhCGZSWwaj0TTSMEOj9nyU+56MMx+N7527JUnOYMyVbbEx5h1S5sPjntMVVzz8c8FC5MKbgXCgjTt5Depl6YgrvoSCNNXZqnXN2l9dtBxKGSEdQIDAQABAoIBAD7r606/pZqPP0l3MnqVNyvY2X43r/ITBs+UQmSB67Ydqqiyi5C8xW530x6JSGJpP055c3atynTD4Jf4rF46WNgL91dTXBQ1QMubYV9+G6+lhUiOtQyBUOnkXRWQ/3MBEed5IQ0QjSew6WDheZuD7zOfJhD9sELKll7vSO2rVRdi5Kf3pps0K4aeYLvlelHjPtu2EkMyAD4d37QO2q8A/+acOf7wyx1uZ55nobe0jVgQBa2Tuuwhd2JilmsgMvcVxeAJoocyQxPVTU+iMidgZKxyW/fJUaR7V2KgKfP0H2OZbSruD2HyHL7o70+/XBg250msh691oTCXSGWiITFXRDkCgYEA1KF3daSzWK2vTZeNMxj++VRNZfyigNqBwgRZxrSGIUeNGpDdDp7flldM/fO/0RijKnh+nXLBCMZlxffSI7W3jkkjosEq0uyXv6Ez4WlhwHEAE6KrZYQ8VDU3We1LXERu/3SMU16Uq2Vme8J6kpshr7OLGeuTNfsSG79lpHU/OO8CgYEAtPjF/AY/t85u4JV0w6FJ/K7Iya+AyIyZhsgnxsPv5NwVtNsQzTRbXlpgnVmaKUXzLBTBJA2P6Gie35R6kJuOuMnvHjtG7umI5lOUJaqYk5GZEXHxbIKTXUxAbv+WKRHcFwcH54Ppurs7bN6ultWdE+yyU5PvabFRAidL+rV+MNsCgYBkqx2XwSZ4MaLxpXLgYlE1UkhipL17K/iLFuw6O3XVg762eSdvqKBK2YJGKYUDRhraHLo1aQMjWGsO00nWRk5lOxN4FuRjgEhIHdYmPnJdXiKfKUDkizrU020lUkd/o5a5s0BMqFbS3usqZOULTA8i1GpjFzlXMUtdf7xrpGcOWQKBgFJXWuX4Befg8owXFKCqc1qYQF2cEBGv/27XBVon7rAH/4xhnHxx1RzSLGGL0lvzKtikvNhln1PUvmzmRvoi/UZRAw6TVAwCkDqUTrTwsSl7ttS8Lmf75Ycu2aZnfnBDYwvLNCp/18oRxNEdZPzWRvk42k6y4d0KQ9yh+q0hBUC/AoGASgJro5HgKWkSzYx1Fk3rvo7EWeZwXNfWuzIhtCiVDG4+df0ZdybkbjxbaRwL2rbTSBeqSaZw4UwpE1JyF8erfzx0qpHCY5V3ocnA8kg56mX9kE5H9WKjMe1tbuZpba4i08zvM8vpz9gASf3z/WrWWqgpvynxDWpy4xFAqrWC0VQ=",
|
Npk: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy05sCMKEYZQGryKKq7qxxMi4uIRcOuv0aQcptjEifc/TS56bU0iGlkuH9k90tPp6EoKYLUfnL1FdHQOWXboFktwoxjy372gc6CsQfU9ZNjsWMYI8CTZF6gWLk4HjfBO4HcCKJs7oGntgVZxfVqVxJ8N/M1ZC2sDuVkoHYymONgNwgO+yYXrAlPPfJBltG5QNOcGTHBZ4PTc6A0M17+2BiskKUJfLEbN2soEZR0b5v5qy0D1xe5w+CdNcvtEb5CemPRxxRYjIqfHlhQPO7ZCUFPmhtoIbtBYG+BIU+qK3Q1DDiBndOVkQGVBQcOnMfYpxp82hlA1TAVeRICWubH3nJwIDAQAB",
|
||||||
Npk: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy05sCMKEYZQGryKKq7qxxMi4uIRcOuv0aQcptjEifc/TS56bU0iGlkuH9k90tPp6EoKYLUfnL1FdHQOWXboFktwoxjy372gc6CsQfU9ZNjsWMYI8CTZF6gWLk4HjfBO4HcCKJs7oGntgVZxfVqVxJ8N/M1ZC2sDuVkoHYymONgNwgO+yYXrAlPPfJBltG5QNOcGTHBZ4PTc6A0M17+2BiskKUJfLEbN2soEZR0b5v5qy0D1xe5w+CdNcvtEb5CemPRxxRYjIqfHlhQPO7ZCUFPmhtoIbtBYG+BIU+qK3Q1DDiBndOVkQGVBQcOnMfYpxp82hlA1TAVeRICWubH3nJwIDAQAB",
|
|
||||||
|
|
||||||
PointId: "4120060413537864",
|
PointId: "4120060413537864",
|
||||||
InsAcctId: "P230704143053405",
|
InsAcctId: "P230704143053405",
|
||||||
|
@ -26,6 +25,14 @@ func config() []byte {
|
||||||
return marshal
|
return marshal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConfig(t *testing.T) {
|
||||||
|
t.Run("TestConfig", func(t *testing.T) {
|
||||||
|
c := config()
|
||||||
|
fmt.Printf("%+s\n", string(c))
|
||||||
|
assert.NotEmpty(t, c)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
var server = &UnionPayCpnService{}
|
var server = &UnionPayCpnService{}
|
||||||
|
|
||||||
func TestOrder(t *testing.T) {
|
func TestOrder(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue