func (this*UserController)HandleUserPay() {
var appId="2016091800541813"
var aliPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzBr/2fOq6vbfAKiIlR8zyAOV2uOMbyYouV/ScQjuNNAVj+D6RZEdJWjz8+ENhpoUOhUa9CuXwZnBIwVD3ET0BLB0AtmL9SmzhSgTDy7WL/LLc+ZDfMmQZYojpVioie+ZUqi1R4BCYh81XZW/xKTFu05awxDdYh6z2K3+whSJaW7Ow1NV9J8UbZiglJEA/nwnLS5W8XAdY3srGC1f1mtlJV6VkfD8d+B5f9t8r+LD4p1EFVDD9i5V1XyCyX7Fiig8ZFyap9z+ZuEnI1xmkiKBZamnvl/QCU2hA+b6xiy84hSyk8zk/a55pGAKUwOuwStSdaBkX4btD14BWoYYwNaMlQIDAQAB" // 可选,支付宝提供给我们用于签名验证的公钥,通过支付宝管理后台获取
var privateKey = "MIIEpQIBAAKCAQEA4OH65bculJnLB5Ay9tYbx5bBGpelBVi/lMjzU5C5IcZeXS6f"+
"ZMyTduaOIY209SXQCP9D9CrFaVA3+AgYnsivCaMDnBLZt/x9VT+pZJXr+g0kvJb3"+
"tTwBlTj5JhUY7qr6wX8nJPBBZ+r8+IVCJBTu7AEcYFlTqZunBgsazLzBCZ6zbhNM"+
"qgjB3/6v9Ua0AoxC/Ki4ko37GacOsqridsfZjBF4ymGSxehjuLRxSsAocXyoI/kd"+
"ZY3uvNMgSnLWCDnM95WjQTlbd6UswyKG6zQPWuA0H0MUvVXX7j++o3uSurqTVjD7"+
"kriVF7u5EGp9Zzv5emRhz3uoBO2Gy5nT26h2QQIDAQABAoIBAQCJeZxn0hQnw9za"+
"QszlGP7ihMaH+yxmmFqGGlKmQ1Lp0trdHCNU+7sqdMduu7JkKzmCRorEOWF1gBS3"+
"DDwA1a4rtfv+7Ycrcq8r7j8fvocD1gUfRSspIAXXs3ycS0lynhOtNo43hqh1XrJH"+
"Oy+z3xgwLn2qaPE8Pmtcxm0bvEhGGBk7GOwz4Jj6X96Iv6CgtUa72dFj52YWXfYn"+
"4Dni1GM1OQthO+j91peZKBUyUGOenyyGbRM1sdIsyRl4srAYgEP5I2WFPzosoo8M"+
"B1IxB1cyZKOdncAwqqoKsee76/sLlB7PXU6UKYh//K9nEG9LLtdfVWcn6Bw+z6fO"+
"hEnl9doBAoGBAPFIcoeZ59OB+bJ5FGNA3J9rhisjGrmEzv3v+XuT6BcaXl0fIR+w"+
"FK9QaELvr7A/01pQIeqxjHiU6PTQkI7bPZLiSs4SYp7bW9RlnmCp8atlx1oJ5M7m"+
"nz3wARczyAjrAeU9Rw1W0mC/dHOxQkgiQKtk6c1igeIbtFPnwHf9+liTAoGBAO6Z"+
"crd8at4+/D4/etfpNr94Y+Yw7XeTl189pIJEHKdkbs9v6HX84kovdMeKq7qNP1Db"+
"2x+rYr2GnagxbD2yz3hI+hMVP9bpZMWqQUxV89IA+60VxLpLzo8FBKukVE/LiPi1"+
"J+Yl3deoZgxMwWt7lnvLlR6qoQFeT3GsxMFsZ15bAoGBAMfdWjmnLFiQrtS+5Tt+"+
"TAKmX8I11vpb39aLxR4vm64fgpEiqx6Dje7W7TadMuwNQrbp795n6lMsDnhUl5ou"+
"U6frWUmwAw9R55ReBL5Pp8dxjJux3F3ivX/h4hVlKEry2GQayVNsWuIXVZBMAfqc"+
"nPMcqWsfMTWp+0sRiuYadRiPAoGBAL5tB4p7qQtBd63ymgdSIRjFa+2e5ReHWstv"+
"dillVP0gAfRa20u3jZ8pqulKum5EJuFQ5tyquz6J/q/q6fmACWd1zuiGEBJk6cF8"+
"dWsIOnVDxZnJgt4wfGXW2nhmycd5qRLd+j8Lv7dLtk5gwAoZc+vPem8kPSXLcFpI"+
"SiwZaZJ7AoGAZ3BpHpAdQhWHSej1B2AQpv+3YD3RsMAkTJtUfX1meVo6OSrUTvlS"+
"7n65sGfAcSIhY9PpRSricwFUmNJbM1qesgf7WatsAYy2VDWXIxQpcU0DQs5VvcFu"+
"tWN1Hgl9g4x4taZMlBWO7Km2irmwgVaZZorCm+K+7innn/jG4JdC2BQ=" // 必须,上一步中使用 RSA签名验签工具 生成的私钥
var client = alipay.New(appId, aliPublicKey, privateKey, false)
oid := this.GetString("oid")
totalprice := this.GetString("totalprice")
var p = alipay.AliPayTradePagePay{}
p.NotifyURL = "http://xxx"
p.ReturnURL = "http://192.168.33.134:8080/userhandle/payok"
p.Subject = "yanxu_wilson"
p.OutTradeNo = oid
p.TotalAmount = totalprice
p.ProductCode = "FAST_INSTANT_TRADE_PAY"
var url, err = client.TradePagePay(p)
if err != nil {
fmt.Println(err)
}
var payURL = url.String()
fmt.Println(payURL)
// 这个 payURL 即是用于支付的 URL,可将输出的内容复制,到浏览器中访问该 URL 即可打开支付页面。
this.Redirect(payURL,302)
}
调用支付宝的接口
func (this*UserController)HandlePayOK() {
//http://192.168.33.134:8080/userhandle/payok?
charset=utf-8&out_trade_no=88888&method=alipay.trade.page.pay.return&total_amount=10.00
&sign=usjx097MeG2qKbiGy%2F50BDSaQR%2F0%2FRagEKxiZRH8LymHCzkx3fp0%2FEa5irty5xpdhPYQsV8XH52
GcJe7XWPWdapkNlZ9Lkk0%2BthQuPYIPCjDPKgIg1TaI2M0Cq3TR4pQxqfodn61%2ByTHKzWXaH6%2BOqcI5Uh5QNh
Jq39vVTOMpDambWBfrn%2BFOfn3Y5TDTWOIyj4LTtGLqvRj8lHyynu8VhbPT7tSAbEOOhNYqwRGtq9FNh2WgY%2BMyHn
briddwevrCH3hfygaB3NdTZAFkfsk8GOJBbNdi%2BVKZdwlf%2BwIaNUH8Tm8d5DDDRnnECAMy%2FCBLw9hyT7y9c6x29XS4
acGnw%3D%3D&trade_no=2018102422001427710500390977&auth_app_id=2016091800541813&version=1.0&
app_id=2016091800541813&sign_type=RSA2&seller_id=2088102176219913×tamp=2018-10-24+21%3A23%3A18
orderId := this.GetString("out_trade_no")
beego.Info("orderId::::",orderId)
if orderId=="" {
beego.Info("zhifu shibai")
this.Redirect("/userhandle/userOrder",302)
return
}
beego.Info("orderId:->",orderId)
o := orm.NewOrm()
id,err:=o.QueryTable("OrderInfo").Filter("OrderId",orderId).Update(orm.Params{"Orderstatus":2})
beego.Info(id,err)
this.Redirect("/userhandle/userOrder",302)
}