110 lines
5.0 KiB
Go
110 lines
5.0 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"gitea.cdlsxd.cn/sdk/plugin/instance"
|
|
"gitea.cdlsxd.cn/sdk/plugin/manage"
|
|
"gitea.cdlsxd.cn/sdk/plugin/proto"
|
|
"log"
|
|
)
|
|
|
|
var alpayRedConf = &manage.Config{
|
|
Cmd: "pkg/mac/alipay_redpack.so",
|
|
Tag: "alipay_redpack",
|
|
Version: 1,
|
|
CookieKey: "alipay_redpack",
|
|
CookieValue: "alipay_redpack",
|
|
}
|
|
|
|
func getAlpayRedConf() []byte {
|
|
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=",
|
|
}
|
|
marshal, _ := json.Marshal(c)
|
|
return marshal
|
|
}
|
|
|
|
func alipayOrderRedPack() {
|
|
err := manage.Add(alpayRedConf)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
defer manage.Close()
|
|
type ProductExtra struct {
|
|
Wishing string `json:"wishing"`
|
|
}
|
|
productExtra := ProductExtra{Wishing: "wishing"}
|
|
productExtraBytes, err := json.Marshal(productExtra)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
request := &proto.OrderRequest{
|
|
Config: getAlpayRedConf(),
|
|
Order: &proto.OrderRequest_Order{
|
|
OrderNo: "lsxd202406071545141534",
|
|
Account: "",
|
|
Quantity: 1,
|
|
Amount: 0.01,
|
|
Extra: []byte(`{"name":"李子铭"}`),
|
|
},
|
|
Product: &proto.OrderRequest_Product{
|
|
ProductNo: "",
|
|
Price: 0.01,
|
|
Extra: productExtraBytes,
|
|
},
|
|
}
|
|
log.Printf("Order request.Product.Extra:%s", string(request.Product.Extra))
|
|
result, err := instance.Order(context.Background(), alpayRedConf.Tag, request)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
log.Printf("Order res:%+v", result)
|
|
}
|
|
|
|
func alipayQueryRedPack() {
|
|
err := manage.Add(alpayRedConf)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
defer manage.Close()
|
|
queryRequest := &proto.QueryRequest{
|
|
Config: getAlpayRedConf(),
|
|
Order: &proto.QueryRequest_Order{
|
|
OrderNo: "202411191746471970010022",
|
|
TradeNo: "20241119020070011560880008002610",
|
|
Account: "",
|
|
Extra: []byte(``),
|
|
},
|
|
}
|
|
resQuery, err := instance.Query(context.Background(), alpayRedConf.Tag, queryRequest)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
log.Printf("Query res:%+v", resQuery)
|
|
}
|
|
|
|
func alipayNotifyRedPack() {
|
|
err := manage.Add(alpayRedConf)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
defer manage.Close()
|
|
req := &proto.NotifyRequest{
|
|
Config: getAlpayRedConf(),
|
|
Queries: []byte(`{"charset":"UTF-8","biz_content":"{\"pay_date\":\"2023-05-24 14:54:46\",\"biz_scene\":\"DIRECT_TRANSFER\",\"action_type\":\"FINISH\",\"pay_fund_order_id\":\"20230524110070001506320098515414\",\"origin_interface\":\"alipay.fund.trans.uni.transfer\",\"out_biz_no\":\"lsxd202305241454456670\",\"trans_amount\":\"0.01\",\"product_code\":\"STD_RED_PACKET\",\"order_id\":\"20230524110070000006320080320326\",\"status\":\"SUCCESS\"}","utc_timestamp":"1684911287217","sign":"JMNyQDFvtp37/99ZzzjJOrKe7fQ3nnUR124q/mh6MIztMn2w95PjI5MReqdEwy4lYvCKmXERDPt+vEpYuzlqM+98hWY1JwMdJSNC0PHvqmFqKIQchOzQavUv7VxCYGhdQ3lgH51KEQV2w5j27HkoH71jmQC1duMuzyrJVq9uYkKrTyKrnzceg8t7mYNOy1FxUsCnvV1s6MFc4OWXOhAFAUQPjFX7UiCImTKLV1XW93DjnS+skui7mt9xD0Nn0L3Tk23grHA3FLOjEJVTG2ic32ifKUAy54XS48J3i1Abssu4K1iB0I7o/s110MpgZl6HY/T6geG6KpBikrO1S/WvjQ==","app_id":"2021003196667150","version":"1.1","sign_type":"RSA2","notify_id":"2023052401222145447048481441455595","msg_method":"alipay.fund.trans.order.changed"}`),
|
|
Headers: []byte(``),
|
|
Body: []byte(``),
|
|
}
|
|
resNotify, err := instance.Notify(context.Background(), alpayRedConf.Tag, req)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
log.Printf("Notify res:%+v", resNotify)
|
|
}
|