|
- package yibao_pay
-
- import (
- "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/db/offical"
- zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils"
- "encoding/json"
- "errors"
- "fmt"
- "github.com/yop-platform/yop-go-sdk/yop/client"
- "github.com/yop-platform/yop-go-sdk/yop/constants"
- "github.com/yop-platform/yop-go-sdk/yop/request"
- "github.com/yop-platform/yop-go-sdk/yop/response"
- "github.com/yop-platform/yop-go-sdk/yop/utils"
- "net/url"
- "os"
- "strings"
- "xorm.io/xorm"
- )
-
- func GetSend(method, appId, isvPriKey string, param map[string]string) (*response.YopResponse, error) {
- var priKey = request.IsvPriKey{Value: isvPriKey, CertType: request.RSA2048}
- var yopRequest = request.NewYopRequest(constants.GET_HTTP_METHOD, method)
- yopRequest.AppId = appId
- yopRequest.IsvPriKey = priKey
- for k, v := range param {
- yopRequest.AddParam(k, v)
- }
- yopResp, err := client.DefaultClient.Request(yopRequest)
- return yopResp, err
- }
- func PostFormSend(method, appId, isvPriKey string, param map[string]string) (*response.YopResponse, error) {
- var priKey = request.IsvPriKey{Value: isvPriKey, CertType: request.RSA2048}
- var yopRequest = request.NewYopRequest(constants.POST_HTTP_METHOD, method)
- yopRequest.AppId = appId
- yopRequest.IsvPriKey = priKey
- for k, v := range param {
- yopRequest.AddParam(k, v)
- }
- yopResp, err := client.DefaultClient.Request(yopRequest)
- return yopResp, err
- }
- func PostJsonSend(method, appId, isvPriKey string, params map[string]interface{}) (*response.YopResponse, error) {
- var priKey = request.IsvPriKey{Value: isvPriKey, CertType: request.RSA2048}
- var yopRequest = request.NewYopRequest(constants.POST_HTTP_METHOD, method)
- yopRequest.AppId = appId
- yopRequest.IsvPriKey = priKey
- yopRequest.Content = utils.ParseToJsonStr(params)
- yopResp, err := client.DefaultClient.Request(yopRequest)
- return yopResp, err
- }
- func FileUploadSend(method, appId, isvPriKey string, name string, f *os.File) (*response.YopResponse, error) {
- var priKey = request.IsvPriKey{Value: isvPriKey, CertType: request.RSA2048}
- var yopRequest = request.NewYopRequest(constants.POST_HTTP_METHOD, method)
- yopRequest.AppId = appId
- yopRequest.IsvPriKey = priKey
- yopRequest.AddFile(name, f)
- yopResp, err := client.DefaultClient.Request(yopRequest)
- return yopResp, err
- }
- func GetYibao(bodyStr string) (*YibaoJoinCallback, error) {
- decodeArgs, err := url.QueryUnescape(bodyStr)
- if err != nil {
- return nil, errors.New("失败")
- }
- data, err := url.ParseQuery(decodeArgs)
- if err != nil {
- return nil, err
- }
- dataMap := make(map[string]interface{})
- for k := range data {
- dataMap[k] = data.Get(k)
- }
- callbackStr := zhios_third_party_utils.SerializeStr(dataMap)
- callbackStr = strings.ReplaceAll(callbackStr, "\\r", "")
- callbackStr = strings.ReplaceAll(callbackStr, "\\n", "")
- fmt.Println("易宝回调数据", string(callbackStr))
- var args YibaoJoinCallback
- if err := json.Unmarshal([]byte(callbackStr), &args); err != nil {
- return nil, err
- }
- return &args, nil
- }
- func CommKey(eg *xorm.Engine, Prd bool) map[string]string {
- appId := offical.SysCfgByKeyStr(eg, "yibao_appid")
- isvPriKey := offical.SysCfgByKeyStr(eg, "yibao_key")
- parentMerchantNo := offical.SysCfgByKeyStr(eg, "yibao_merchant_no")
- if Prd == false {
- appId = offical.SysCfgByKeyStr(eg, "yibao_appid_test")
- isvPriKey = offical.SysCfgByKeyStr(eg, "yibao_key_test")
- }
- res := map[string]string{
- "appId": appId,
- "isvPriKey": isvPriKey,
- "parentMerchantNo": parentMerchantNo,
- }
- return res
- }
|