diff --git a/cmd/alipay_redpack.go b/cmd/alipay_redpack.go index 608ff67..3299a7b 100644 --- a/cmd/alipay_redpack.go +++ b/cmd/alipay_redpack.go @@ -18,21 +18,24 @@ var alpayRedConf = &manage.Config{ } func getAlpayRedConf() []byte { - type Config struct { - AppId string `json:"app_id"` - Prk string `json:"prk"` // 私钥 - } + + return []byte(`{"prk": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDbA+YuMp4JUVj6rjzgwGKNXWkEMGX/rinqkfyBZ6B6p8EKz8zgA+ypiJLOixD3GyKnUnAzx4waNRZHfdEu+l57kJFtd/ipfwtJ28aTi7TqtqEpqD+UPY4ourt2CuyCFxWsonS6dczqtTvfAVArTdbGJYY+kNNVR3WiXgGUhkUu8N7vEowU00RUQGNdSVMUs4FX+HlU3RnEoRc/xUhPiaLf0Bm/g9wG96kwyg/TZvkNU7PpMVRdXeLrVORn0qThs3VA4dqondF+O12iC1TK4TKYGzFYczGAUsfuurtDyCc2GMoE+hH2FR8U7amQOVuYZFkutTdqaqukWpFQOr8wLeMzAgMBAAECggEAD715/3v3y6ejA3EeQvDQpGRANeLckcGMlaUkRpCSAf6oawSALuFZUt3T3zAzae7zUJ8mHTKMKR4DmeO68utfevXq3bkvj87nmslGvjfeKrgxYPMMjrTV0KuK6XLjiH3sOtn6FaR9s6iOwvovLs2LT/ZGbZyu84QNOjwTVP9JXZQkBgMItdKf+U3H2Cjp7U/qXBt8/9yzVFklp1g1883DAty0lzmT27dJimGVGaPQ8vNxo81+ZUEJAn6GUTk0K/GwJfhPTU8hh8G90n2LTyskoMjGxQe9lXfCcS9DmWawEQL4WTctPrDYlnS/cjCVMS0KXIFuxRNf6qaMYDeywC8BgQKBgQDyf40dvmw34Rrb46+NLayQ9W5CJI/dYeRajpCjoOomq5QYhbXzUCpVfbtByeGMsg3zN58NNsZGhl5SU0GdEdoOlxCk+2Hey2yQYF4ugQm/dTd68Jgqi3yujigAbNYa1ZhL9t3FqouPY1dGiaxl+DFYdSMIrsVFXh2NbrPyqTk5IQKBgQDnNaH7LCcIUqg9H8Tsls+8GLzP2HwF3hdll8asEsF3K3HX6/Zlp4VnnEcIkAxLRL/L0o5akXrmA18ZwfoSguTPXV9va3G2GgIiJHgcytmGtQVvbpFKuPnCXKz+avxnfO0flJqyYEuHr/40jsGbMkk0Kr52/n3ivXZbBUlT+tkt0wKBgB0qLgSnxEgsMJjFl3V5SsncWrhlwU+02Evz3X1wevjPpe4VFr7+ozjI+F5/MztCpt7bj6t9LPeKbYmlLb0ASqN6k6vj9+9ds97hWDJrnoqCRHvqt8JWKFauDi2O6WksyzZHqIB/dG14WyTGpg9VfEnRPLdsnZksKo26BLZol9NBAoGBAMz7oMNljqlzVtLyMo2q2zuhFuySusoc79NTL4FpE3rK2qCbA5V2YvDL/bIau7uTlRNodmrXZgU84fidIE9/Gsq5tp26vVK8Vj3c5Vxpf1dNcCct+MQtoMjvjzP0uBgsCrKf9lLEytHed1ozYnRsrbgBWWF4GTWH0cG6uxsoX5mfAoGAfYXKZdyRU+Su4y4EnDLMXd320ar7PaeuY8aZU7V6UQEsaOj6H3O8JMEOuBrOVEhAP2EkAC8ayargSXTSOkN97pg88agKDwA6jh4N6TKAK8XMft81YPPliVwZMsAUqihSKQBnKZ7ssHHLGWWWp5vfkyb7Y7dIkZcPzB0X3q/jL58=", "app_id": "2021004100663111"}`) + + //type Config struct { + // AppId string `json:"app_id"` + // Prk string `json:"prk"` // 私钥 + //} //c := &Config{ // AppId: "2021004100663111", // Prk: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDbA+YuMp4JUVj6rjzgwGKNXWkEMGX/rinqkfyBZ6B6p8EKz8zgA+ypiJLOixD3GyKnUnAzx4waNRZHfdEu+l57kJFtd/ipfwtJ28aTi7TqtqEpqD+UPY4ourt2CuyCFxWsonS6dczqtTvfAVArTdbGJYY+kNNVR3WiXgGUhkUu8N7vEowU00RUQGNdSVMUs4FX+HlU3RnEoRc/xUhPiaLf0Bm/g9wG96kwyg/TZvkNU7PpMVRdXeLrVORn0qThs3VA4dqondF+O12iC1TK4TKYGzFYczGAUsfuurtDyCc2GMoE+hH2FR8U7amQOVuYZFkutTdqaqukWpFQOr8wLeMzAgMBAAECggEAD715/3v3y6ejA3EeQvDQpGRANeLckcGMlaUkRpCSAf6oawSALuFZUt3T3zAzae7zUJ8mHTKMKR4DmeO68utfevXq3bkvj87nmslGvjfeKrgxYPMMjrTV0KuK6XLjiH3sOtn6FaR9s6iOwvovLs2LT/ZGbZyu84QNOjwTVP9JXZQkBgMItdKf+U3H2Cjp7U/qXBt8/9yzVFklp1g1883DAty0lzmT27dJimGVGaPQ8vNxo81+ZUEJAn6GUTk0K/GwJfhPTU8hh8G90n2LTyskoMjGxQe9lXfCcS9DmWawEQL4WTctPrDYlnS/cjCVMS0KXIFuxRNf6qaMYDeywC8BgQKBgQDyf40dvmw34Rrb46+NLayQ9W5CJI/dYeRajpCjoOomq5QYhbXzUCpVfbtByeGMsg3zN58NNsZGhl5SU0GdEdoOlxCk+2Hey2yQYF4ugQm/dTd68Jgqi3yujigAbNYa1ZhL9t3FqouPY1dGiaxl+DFYdSMIrsVFXh2NbrPyqTk5IQKBgQDnNaH7LCcIUqg9H8Tsls+8GLzP2HwF3hdll8asEsF3K3HX6/Zlp4VnnEcIkAxLRL/L0o5akXrmA18ZwfoSguTPXV9va3G2GgIiJHgcytmGtQVvbpFKuPnCXKz+avxnfO0flJqyYEuHr/40jsGbMkk0Kr52/n3ivXZbBUlT+tkt0wKBgB0qLgSnxEgsMJjFl3V5SsncWrhlwU+02Evz3X1wevjPpe4VFr7+ozjI+F5/MztCpt7bj6t9LPeKbYmlLb0ASqN6k6vj9+9ds97hWDJrnoqCRHvqt8JWKFauDi2O6WksyzZHqIB/dG14WyTGpg9VfEnRPLdsnZksKo26BLZol9NBAoGBAMz7oMNljqlzVtLyMo2q2zuhFuySusoc79NTL4FpE3rK2qCbA5V2YvDL/bIau7uTlRNodmrXZgU84fidIE9/Gsq5tp26vVK8Vj3c5Vxpf1dNcCct+MQtoMjvjzP0uBgsCrKf9lLEytHed1ozYnRsrbgBWWF4GTWH0cG6uxsoX5mfAoGAfYXKZdyRU+Su4y4EnDLMXd320ar7PaeuY8aZU7V6UQEsaOj6H3O8JMEOuBrOVEhAP2EkAC8ayargSXTSOkN97pg88agKDwA6jh4N6TKAK8XMft81YPPliVwZMsAUqihSKQBnKZ7ssHHLGWWWp5vfkyb7Y7dIkZcPzB0X3q/jL58=", //} // 福建兴旺主体 - c := &Config{ - AppId: "2021005198621340", - Prk: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCCNMshouy0vs2zswRtyIc9pfHbAPAflQkQKlmes5+fWa9r0lS7IFmOEM4d0Nb/QRU9Hf2ET5fMXuu6Z5CO22jAq8AhYjL73iqH+xspkFV5qcq2z0QDqfafovKpc0Pa9Ko5peBfYmiyOTkElrU0flL/cYTrLExVC+ypr9kNUpuYQHIPMCgxokzyNFuojExB083xTkD5xzUznVu0vvSEVL4ir/Po/buLZoPr5M6se2Cj1Qn04uixEKq0tBuX5ZPyQRnDAFuLxsNBeNh06Hu3uSq2gvuDHx7pSH5QEpqMbvue9Rk36CZ2YuEm0ZQk1NPyH+wefLDfzouZh9jORDNz/8M9AgMBAAECggEASPEeYseM52yEfAjrkDzoVobiSJfr7SVmoGG5NwjVgUWS2kpIIVRsFwQfE+DssK5bIZPtc/PKzDjYweJGv2D2/Ai7Z3hFq4e4N9laTByJZdDSuTq/lXXfrWpxmq/x8XVi70yXt5e/oygfYwyykqe6A1Qq7DwyvuohOKZEaAxBEjchZxHBMR0VJz0fifByMOKiyO+5EAdsvigcyBnU5qUZ975lQfyxrEzAWCkYXVThVliP/10sqgp2wMjMCc5PbVA0LpYAmwwLk7z33ZFq8lntbZb0AxPzPVBTgTUaQ7lyk1uLKG09vhZE59x1YMNlNjONLv6EibLdhbXN37xu0TOCWQKBgQD6IDrV3Af3mEBR1chI+K+vmgsXRw8g+T+WLDzZ+L3VZzCAGb+vH5+HnGCWMMJU/jLz6iQrLNKrA7c9zfzb+OaCVyASZ1yum4Q9KbjRCGRNX2CjRKqNboDD8iEOAD75A0KnrILw4B4yp0/tRjgkxA0IBVjLKE9UIlwy3pbMHNMAnwKBgQCFQ5mnt6qpcPnAK0PIJZ2koFkOup9yFcRZYiO2cLA3Vor6etf/KmzSlDPgTVS62fU2sHBdmp33lIqzoHlhznzRTeC1sA+4+J8Ur8uFAWGrEdl+2GM0KRqIDetVO8PcFbFPcpjkAnx/w+2cPAdI7vNWGZasVDjdyoOpd7qUFKbiowKBgFgDgVCBlVgdffyN4mUzBPcgmGh/e6ZZrnNUa7EzovD1144sAVRJJ2SbtS0ESU2JCTrlGAcNRbAhpZgc5K4u3kXdDI8NSgKy/IxdIwiDEHBdcG7jGbScvri0eccodQBAknLX9Fd4NYgTcb+HZvgg+IjrALy0GX38fT71LlDyj5j3AoGANFo0OPEseFhLpTTZ8fzlC1F66xBhpx3p/vtQ8FEgyPyUqIYt6K4wBiH2pz159dW+QXfbDMq7GBIg0yRNyyClZExl5Lp/0rjJNgVBvMSoK95dRTmY71rec2iUdO1/qixTddSdP6XCZyb/Z4sliX9l1QNEb/q+RFNUmfTRNW9PiGUCgYEAzQfDCf8CYrT0yd9EI9DgJtitRUOQfTarptxmQcayr14q45jJVUQKrJ19zQQT9X4PHl4W93XQzWMyWrSgcINR7pF/3yUF6/3U6iniwFlXAHtskM0FU6HffmSLVXYALdYBRHP2OGrx3ET5dYdX0Nx8vEpze3Q+gb8KfcIejx4lr5Q=", - } - marshal, _ := json.Marshal(c) - return marshal + //c := &Config{ + // AppId: "2021005198621340", + // Prk: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCCNMshouy0vs2zswRtyIc9pfHbAPAflQkQKlmes5+fWa9r0lS7IFmOEM4d0Nb/QRU9Hf2ET5fMXuu6Z5CO22jAq8AhYjL73iqH+xspkFV5qcq2z0QDqfafovKpc0Pa9Ko5peBfYmiyOTkElrU0flL/cYTrLExVC+ypr9kNUpuYQHIPMCgxokzyNFuojExB083xTkD5xzUznVu0vvSEVL4ir/Po/buLZoPr5M6se2Cj1Qn04uixEKq0tBuX5ZPyQRnDAFuLxsNBeNh06Hu3uSq2gvuDHx7pSH5QEpqMbvue9Rk36CZ2YuEm0ZQk1NPyH+wefLDfzouZh9jORDNz/8M9AgMBAAECggEASPEeYseM52yEfAjrkDzoVobiSJfr7SVmoGG5NwjVgUWS2kpIIVRsFwQfE+DssK5bIZPtc/PKzDjYweJGv2D2/Ai7Z3hFq4e4N9laTByJZdDSuTq/lXXfrWpxmq/x8XVi70yXt5e/oygfYwyykqe6A1Qq7DwyvuohOKZEaAxBEjchZxHBMR0VJz0fifByMOKiyO+5EAdsvigcyBnU5qUZ975lQfyxrEzAWCkYXVThVliP/10sqgp2wMjMCc5PbVA0LpYAmwwLk7z33ZFq8lntbZb0AxPzPVBTgTUaQ7lyk1uLKG09vhZE59x1YMNlNjONLv6EibLdhbXN37xu0TOCWQKBgQD6IDrV3Af3mEBR1chI+K+vmgsXRw8g+T+WLDzZ+L3VZzCAGb+vH5+HnGCWMMJU/jLz6iQrLNKrA7c9zfzb+OaCVyASZ1yum4Q9KbjRCGRNX2CjRKqNboDD8iEOAD75A0KnrILw4B4yp0/tRjgkxA0IBVjLKE9UIlwy3pbMHNMAnwKBgQCFQ5mnt6qpcPnAK0PIJZ2koFkOup9yFcRZYiO2cLA3Vor6etf/KmzSlDPgTVS62fU2sHBdmp33lIqzoHlhznzRTeC1sA+4+J8Ur8uFAWGrEdl+2GM0KRqIDetVO8PcFbFPcpjkAnx/w+2cPAdI7vNWGZasVDjdyoOpd7qUFKbiowKBgFgDgVCBlVgdffyN4mUzBPcgmGh/e6ZZrnNUa7EzovD1144sAVRJJ2SbtS0ESU2JCTrlGAcNRbAhpZgc5K4u3kXdDI8NSgKy/IxdIwiDEHBdcG7jGbScvri0eccodQBAknLX9Fd4NYgTcb+HZvgg+IjrALy0GX38fT71LlDyj5j3AoGANFo0OPEseFhLpTTZ8fzlC1F66xBhpx3p/vtQ8FEgyPyUqIYt6K4wBiH2pz159dW+QXfbDMq7GBIg0yRNyyClZExl5Lp/0rjJNgVBvMSoK95dRTmY71rec2iUdO1/qixTddSdP6XCZyb/Z4sliX9l1QNEb/q+RFNUmfTRNW9PiGUCgYEAzQfDCf8CYrT0yd9EI9DgJtitRUOQfTarptxmQcayr14q45jJVUQKrJ19zQQT9X4PHl4W93XQzWMyWrSgcINR7pF/3yUF6/3U6iniwFlXAHtskM0FU6HffmSLVXYALdYBRHP2OGrx3ET5dYdX0Nx8vEpze3Q+gb8KfcIejx4lr5Q=", + //} + //marshal, _ := json.Marshal(c) + //return marshal } func alipayOrderRedPack() { @@ -83,7 +86,9 @@ func alipayQueryRedPack() { Order: &proto.QueryRequest_Order{ OrderNo: "202411191746471970010022", TradeNo: "20241119020070011560880008002610", - Account: "", + //OrderNo: "202512290858319250010024", + //TradeNo: "", + Account: "", // Extra: []byte(``), }, } diff --git a/cmd/main.go b/cmd/main.go index fc574c6..8637b77 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -10,9 +10,9 @@ func main() { //WechatRedPackV2Notify() //alipayOrderRedPack() - //alipayQueryRedPack() + alipayQueryRedPack() //zltxQuery() - zltxCardQuery() + //zltxCardQuery() //zltxCardNotify() } diff --git a/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack.go b/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack.go index 50420d8..2b67aea 100644 --- a/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack.go +++ b/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack.go @@ -21,6 +21,7 @@ const ( queryMethod = "/received" ) +// QiXingWechatRedPackService 启星,不支持幂等 type QiXingWechatRedPackService struct{} func (s *QiXingWechatRedPackService) Order(ctx context.Context, request *proto.OrderRequest) (resp2 *proto.OrderResponse, respErr error) { diff --git a/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack_test.go b/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack_test.go index 4cbe8d2..47cc7d7 100644 --- a/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack_test.go +++ b/plugins/qixing_wechat_redpack/internal/qixing_wechat_redpack_test.go @@ -29,6 +29,12 @@ func config() []byte { OauthKey: "bcee0c6753b2a31c792a91fe9f9f1666", OauthUrl: "https://utils.85938.cn/utils/v1/wechat/oauth/fjxw", }, + MiniProgram: MiniProgram{ + Name: "兴旺专属fl官", + AppId: "wx075c784fe71d4d04", + AppSecret: "5612971815ad7bf731bfec6b993b4128", + EnvVersion: "trial", // envVersion 正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 + }, } marshal, _ := json.Marshal(c) return marshal @@ -46,7 +52,7 @@ func Test_Order(t *testing.T) { request := &proto.OrderRequest{ Config: config(), Order: &proto.OrderRequest_Order{ - OrderNo: "lsxd20250929004", + OrderNo: "lsxd20250929005", Account: "ojbqr6HpeWKFy9Sgdx8yCmmeVJiw", Quantity: 1, Amount: 0.3, @@ -75,7 +81,7 @@ func Test_Query(t *testing.T) { request := &proto.QueryRequest{ Config: config(), Order: &proto.QueryRequest_Order{ - OrderNo: "lsxd20250929003", + OrderNo: "202512251641128290010039", TradeNo: "", Account: "", Extra: []byte(``), diff --git a/plugins/qixing_wechat_redpack/internal/transform.go b/plugins/qixing_wechat_redpack/internal/transform.go index 5002494..490de06 100644 --- a/plugins/qixing_wechat_redpack/internal/transform.go +++ b/plugins/qixing_wechat_redpack/internal/transform.go @@ -18,14 +18,22 @@ type Official struct { OauthUrl string `json:"oauth_url"` } +type MiniProgram struct { + Name string `json:"name"` + AppId string `json:"app_id"` + AppSecret string `json:"app_secret"` + EnvVersion string `json:"env_version"` +} + type Config struct { - Mode vo.Mode `validate:"required" json:"mode"` // 商户名称 - NchName string `validate:"required" json:"mch_name"` // 商户名称 - AppKey string `validate:"required" json:"app_key"` // appKey密钥 - BatchId string `validate:"required" json:"batch_id"` // 批次账号 - BasUrl string `validate:"required" json:"base_url"` // 请求地址 - NotifyUrl string `validate:"required" json:"notify_url"` // 回调地址 - Official Official `validate:"required" json:"official"` // 公众号信息 + Mode vo.Mode `validate:"required" json:"mode"` // 商户名称 + NchName string `validate:"required" json:"mch_name"` // 商户名称 + AppKey string `validate:"required" json:"app_key"` // appKey密钥 + BatchId string `validate:"required" json:"batch_id"` // 批次账号 + BasUrl string `validate:"required" json:"base_url"` // 请求地址 + NotifyUrl string `validate:"required" json:"notify_url"` // 回调地址 + Official Official `validate:"required" json:"official"` // 公众号信息 + MiniProgram MiniProgram `json:"mini_program"` // 小程序信息 } func (c *Config) validate() error {