Closed skanger closed 7 years ago
这个接口你要先申请对应的权限。
顺便问下,取到url后怎么访问,支付宝文档说显示返回resposen.body就行,可是这个包返回了url,请问怎么取到response.body
你好,这个问题已经解决了,之前的代码有一些问题,请更新一下代码。
这个接口是不用和支付宝服务器端通信的。之前由于没有测试条件,所以我也是按照支付宝的文档来操作,调用了支付宝服务器端的接口,会返回提示钓鱼的信息。
这个接口只需要本地生成请求的参数信息,然后在浏览器里面直接访问即可。
所以调整后之后的 alipay.trade.page.pay 接口还是会返回一个url,你的服务器只需要把这个url返回给前端,前端直接在浏览器打开这个url即可。
这个钓鱼我问了支付宝客服两天都没找到原因,现在终于解决了
`package tools
import ( "baby/controllers" "github.com/smartwalle/alipay" "github.com/astaxie/beego" )
var ( appID = "" partnerID = "**" //老版接口用
)
type AlipayController struct { controllers.BaseController }
var client = alipay.New(appID, partnerID, publicKey, privateKey, false)
func init() { client.AliPayPublicKey = aliPublicKey }
// @router /api/alipay/test func (this *AlipayController) TestAlipayOrder() { var p = alipay.AliPayTradePagePay{} p.NotifyURL = "http://www.baituolebaby.com/alipay" p.ReturnURL = "http://www.baituolebaby.com/alipayCallback" p.Subject = "修正了中文的 Bug" p.OutTradeNo = "trade_no_20170623011" p.TotalAmount = "10.00" p.ProductCode = "FAST_INSTANT_TRADE_PAY" var url, e = client.TradePagePay(p) beego.Error(url.String()) this.ReturnSuccess("e", e) } `
我得到的url永远都只是https://openapi.alipaydev.com/gateway.do 而且无论我的私钥,公钥怎么乱填, 那个 代表错误的e永远都是nil