当前位置: 首页 > wzjs >正文

如何利用模板做网站网站建设维护外包

如何利用模板做网站,网站建设维护外包,美容 北京 公司 网站建设,江西南昌网站制作前言 支付宝api的sdk没有提供go版,这里自己封装了一个go版的sdk,有需要的朋友可以自取使用 支付宝 AliPay SDK for Go, 集成简单,功能完善,持续更新,支持公钥证书和普通公钥进行签名和验签。 安装 go get github.c…

前言

支付宝api的sdk没有提供go版,这里自己封装了一个go版的sdk,有需要的朋友可以自取使用

支付宝 AliPay SDK for Go, 集成简单,功能完善,持续更新,支持公钥证书和普通公钥进行签名和验签。

安装

go get github.com/abc-kaka/alipay

使用demo

package mainimport ("fmt""github.com/abc-kaka/alipay/open/pay/request""github.com/abc-kaka/alipay/open/pay/response""github.com/abc-kaka/alipay"
)func main() {// 支付宝应用私钥示例privateKey := "-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA2KqF5piuUQMQyT0GH0SOBZ+4StulRRpnhnIn8O+LoToEXAMPLE
MwTxkzm1cwlwGvWJk0HrOM19m1Xe5B9Z5EOYAfMK9Z5c0FxH1+c4XrLKvAxvOgIM
2+gU3wLLCZWaPPXf1gPoC5a8YcUxX0d9RC0hXSmVtYBEXAMPLEq+yPuM7QIDAQAB
AoIBAQCJt9K3Oehms+sCZB4xzgx5sH4G5E0jKNqaZ5CJItvGu2OfEXAMPLEBDjk2E
...
-----END RSA PRIVATE KEY-----"// 支付宝应用公钥示例publicKey := "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArfI9kA/3L1jEXAMPLEUsnA
Do0QTr9k8Y9I3Ym3n8+0ZsXKwNus2Re6nlXDPK3Hpg7n4kDzGGP1opFltlyEXAMPLE
...
-----END PUBLIC KEY-----"// 支付宝公钥示例alipayPublicKey := "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw+EdmJjzpU9fEXAMPLEeXL
vGJdY6vdcSTzCB3aAcEXAMPLEPU+6o2NxYlEu/fFJK2LyoXrNmB7MEBQIDAQAB
-----END PUBLIC KEY-----"// 获取配置config := alipay.NewConfig()config.AppId = "201407230000xxxx"    // 应用app_id示例config.AppAuthToken = ""    // 授权令牌,非必填,按接口需要config.PrivateKey = privateKey   // 应用私钥config.PublicKey = publicKey // 应用公钥config.AlipayPublicKey = alipayPublicKey // 支付宝公钥,非必填,按接口需要// 客户端client := alipay.NewClient(config)// 支付宝路由,支付宝api通过这个路由调用alipayRoute := alipay.NewRoute(client)// 支付回调验签、返回回调参数var notifyResp response.NotifyResponseerr := alipayRoute.Open.Pay.VerifyNotify(request.VerifyNotifyRequest{Params: "", // 回调参数}, &notifyResp)if err != nil {panic("验签失败!")}// 预授权转支付var fundAuthDetail response.AlipayFundAuthOperationDetailQueryResponsereqData, err := alipayRoute.Open.Pay.AlipayFundAuthOperationDetailQuery(request.AlipayFundAuthOperationDetailQueryRequest{OutRequestNo: cast.ToString(v2OrderDepositMinus.OutTradeNo),OutOrderNo:   cast.ToString(v2OrderDepositMinus.OutTradeNo),}, &fundAuthDetail)if err != nil {panic("预授权转支付失败!")}fmt.Println("请求参数、结果", reqData)
}

项目目录结构说明

目录说明
common通用工具目录
mini小程序api的请求参数、请求结果结构体
open开放api的请求参数、请求结果结构体,包含人员、支付
client.go客户端
config.go配置
route.goapi路由文件

项目扩展

可以看到目前的接口并不全,我这边只同步了部分接口,但扩展其实也很简单,只需要去支付宝官网把api接口的请求参数、请求结果copy到本项目,再添加对应的路由即可。

添加支付接口示例

支付宝支付接口

小程序文档 - 支付宝文档中心

请求参数

创建请求参数文件:open/pay/request/alipay_trade_pay_request.go

package requestimport "encoding/json"type AlipayTradePayRequest struct {NotifyUrl  stringBizContent AlipayTradePayBizContent
}// 普通预授权冻结押金转支付接口说明:https://opendocs.alipay.com/open/02cdx8?scene=34&pathHash=dd2813f3
type AlipayTradePayBizContent struct {OutTradeNo      string                 `json:"out_trade_no,omitempty"`TotalAmount     float64                `json:"total_amount,omitempty"`Subject         string                 `json:"subject,omitempty"`ProductCode     string                 `json:"product_code,omitempty"`AuthNo          string                 `json:"auth_no,omitempty"`AuthConfirmMode string                 `json:"auth_confirm_mode,omitempty"`ExtendParams    map[string]interface{} `json:"extend_params,omitempty"`BusinessParams  map[string]interface{} `json:"business_params,omitempty"`// 直付通参数BuyerId     string                 `json:"buyer_id,omitempty"`     // 用户支付宝uidSellerId    string                 `json:"seller_id,omitempty"`    // 卖家支付宝uidSubMerchant map[string]interface{} `json:"sub_merchant,omitempty"` // 二级商户信息SettleInfo  map[string]interface{} `json:"settle_info,omitempty"`  // 结算详细信息
}// ToMap 转map
func (r *AlipayTradePayRequest) ToMap(v any) map[string]string {bizContent, _ := json.Marshal(r.BizContent)return map[string]string{"notify_url":  r.NotifyUrl,"biz_content": string(bizContent),}
}

请求结果

创建文件:open/pay/response/alipay_trade_create_response.go

package response// AlipayTradeCreateResponse (统一收单交易创建接口)-响应
type AlipayTradeCreateResponse struct {Code       string `json:"code"`Msg        string `json:"msg"`OutTradeNo string `json:"out_trade_no,omitempty"`TradeNo    string `json:"trade_no,omitempty"`
}

添加api接口

文件:router_open_pay.go

package alipayimport ("github.com/abc-kaka/alipay/open/pay/request""github.com/abc-kaka/alipay/open/pay/response"
)// OpenPayRouter H5&移动APP - 支付产品 - 路由
type OpenPayRouter struct {client Client
}// NewOpenPayRouter 创建H5&移动APP - 支付产品 - 路由
func NewOpenPayRouter(client Client) *OpenPayRouter {return &OpenPayRouter{client: client}
}// AlipayTradeCreate 统一收单交易创建接口
// https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?pathHash=779dc517&ref=api&scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5
func (r *OpenPayRouter) AlipayTradeCreate(request request.AlipayTradeCreateRequest, response *response.AlipayTradeCreateResponse) (reqData map[string]interface{}, err error) {reqData, err = r.client.Exec("alipay.trade.create", &request, response)return
}

绑定到路由上

文件:route.go

package alipaytype Route struct {Open *OpenRoute
}type OpenRoute struct {Pay    *OpenPayRouter
}func NewRoute(client Client) *Route {return &Route{Open: &OpenRoute{Pay:    NewOpenPayRouter(client),},}
}	

恭喜你,完成接口的添加!


文章转载自:

http://L9rKuho1.jqrhz.cn
http://6w05utr2.jqrhz.cn
http://VaZDWWcb.jqrhz.cn
http://IKU21DSb.jqrhz.cn
http://e9gh9y3k.jqrhz.cn
http://3HBVv8QR.jqrhz.cn
http://QSyD12QU.jqrhz.cn
http://9yhCc9gf.jqrhz.cn
http://Gl30jwGA.jqrhz.cn
http://ozgudO7Q.jqrhz.cn
http://tRWaQcVN.jqrhz.cn
http://9aWNzRx2.jqrhz.cn
http://aJQIbysM.jqrhz.cn
http://NZnC2DEc.jqrhz.cn
http://AjVvP7dL.jqrhz.cn
http://SwCC0etX.jqrhz.cn
http://hx5d0iBQ.jqrhz.cn
http://nVUlCtYg.jqrhz.cn
http://VV8b6Wlt.jqrhz.cn
http://kDTpvMVy.jqrhz.cn
http://RrX7jwpR.jqrhz.cn
http://4I1OMe1I.jqrhz.cn
http://xrGdnG8x.jqrhz.cn
http://Dz7tstNw.jqrhz.cn
http://soc422Lx.jqrhz.cn
http://7nd3vHcE.jqrhz.cn
http://d3csmRgL.jqrhz.cn
http://cCbFopQl.jqrhz.cn
http://8mqqNDTq.jqrhz.cn
http://Hd5HH8ky.jqrhz.cn
http://www.dtcms.com/wzjs/677247.html

相关文章:

  • 注册网站获取网易邮箱安全码网站建设图片怎么做
  • 建网站做淘宝客餐饮团购网站建设
  • 山东网站制作公司排名求职网站网页设计
  • 中文网站建设公司排名wordpress博客样板
  • 甘肃省建设工程网站苏州企业网站制作电话
  • 东莞樟木头网站设计北京网站制作的公司
  • 遵义市做网站公司淄博网站公司电话
  • 北京网站改版有什么用做ppt免费模板软件
  • 网站建设新闻咨询广州市企业网站建设企业
  • 2012r2做网站如何 网站优化
  • 一个vps可以建多少网站百度排名
  • 有哪些网站是用vue做的温州外发加工网
  • 昆明市住房和城乡建设局网站加快wordpress图片的插件
  • 重庆欧勒精细有限公司网站策划书广州微网站
  • 安徽合肥网站制作怎么样做网站或产品推广
  • 如何用dw建立网站wordpress站内搜索慢
  • 上海博道投资管理公司的网站谁做的悦阁网站开发旗舰店
  • 平面设计图制作北京网站优化公司哪里稳定
  • 网站建设实训报告心得体会温州微网站制作公司哪家好
  • 在泰安市有做阿里巴巴网站的编程在线
  • 珠宝手机网站模板浙江住房城乡建设厅网站
  • 麻阳住房和城乡建设局网站软文是指什么
  • 中国建设银行属于什么类型网站网页设计公司未来三年规划
  • 网站开发一般采用什么框架外贸公司介绍
  • 完全自定义纯代码打造你的wordpress站点侧边栏做广告牌子的电话
  • 做网站百科苏州网站建设kgwl
  • 网站建设塞西北京广告设计有限公司
  • 制作网站图文教程官方网站管理办法
  • 做自己的第一个网站电商培训机构哪家好
  • 网站建设项目管理绩效情况分析vultr宝塔wordpress