README

AliPay SDK for Golang

帮助

在集成的过程中有遇到问题,欢迎加 QQ 群 564704807 讨论。

其它支付

微信支付 https://github.com/smartwalle/wxpay

PayPal https://github.com/smartwalle/paypal

关于各分支(版本)

  • v1 - 最老的版本,实现了完整的支付功能,目前已停止更新维护;
  • v2 - 在 v1 的基础上进行了一些优化和规范调整,目前已停止更新维护;
  • v3 - 支持公钥证书签名和验签,详情可以参考 https://docs.open.alipay.com/291/105974/https://docs.open.alipay.com/291/105971/,为目前主要维护分支;
  • master - 和主要维护分支同步;

v3 版本如何初始化

截止本次更新(2019-08-28),支付宝的沙箱环境并未支持公钥证书,考虑到大家开发测试方便,所以本分支保留了沙箱环境下对普通公钥的支持,如果是生产环境则只支持公钥证书,不支持普通公钥。

需要特别注意以下内容

沙箱环境

初始化函数传递的参数信息和老版本一样

var client, err = alipay.New(appID, aliPublicKey, privateKey, false)
生产环境

初始化函数传递的参数信息不再需要 aliPublicKey, 传了也无所谓,会自动过滤掉。

下面用到的 privateKey 需要特别注意一下,如果是通过“支付宝开发平台开发助手”创建的CSR文件,在 CSR 文件所在的目录下会生成相应的私钥文件,我们需要使用该私钥进行签名。

var client, err = alipay.New(appID, "", privateKey, true)

另外,需要调用以下几个方法加载证书信息,所有证书都是从支付宝创建的应用处下载,参考 https://docs.open.alipay.com/291/105971/https://docs.open.alipay.com/291/105972/

client.LoadAppPublicCertFromFile("appCertPublicKey_2017011104995404.crt")
client.LoadAliPayRootCertFromFile("alipayRootCert.crt")
client.LoadAliPayPublicCertFromFile("alipayCertPublicKey_RSA2.crt")

已实现接口

手机网站支付API
中线(-)后面的名称是该接口在 AliPay 结构体中对应的方法名。
  • 手机网站支付接口

    alipay.trade.wap.pay - TradeWapPay()

  • 电脑网站支付

    alipay.trade.page.pay - TradePagePay()

  • 统一收单线下交易查询

    alipay.trade.query - TradeQuery()

  • 统一收单交易支付接口

    alipay.trade.pay - TradePay()

  • 统一收单交易创建接口

    alipay.trade.create - TradeCreate()

  • 统一收单线下交易预创建

    alipay.trade.precreate - TradePreCreate()

  • 统一收单交易撤销接口

    alipay.trade.cancel - TradeCancel()

  • 统一收单交易关闭接口

    alipay.trade.close - TradeClose()

  • 统一收单交易退款接口

    alipay.trade.refund - TradeRefund()

  • App支付接口

    alipay.trade.app.pay - TradeAppPay()

  • 统一收单交易退款查询

    alipay.trade.fastpay.refund.query - TradeFastpayRefundQuery()

  • 支付宝订单信息同步接口

    alipay.trade.orderinfo.sync - TradeOrderInfoSync()

  • 单笔转账到支付宝账户接口

    alipay.fund.trans.toaccount.transfer - FundTransToAccountTransfer()

  • 查询转账订单接口

    alipay.fund.trans.order.query - FundTransOrderQuery()

  • 资金授权发码接口

    alipay.fund.auth.order.voucher.create - FundAuthOrderVoucherCreate()

  • 资金授权操作查询接口

    alipay.fund.auth.operation.detail.query - FundAuthOperationDetailQuery()

  • 资金授权撤销接口

    alipay.fund.auth.operation.cancel - FundAuthOperationCancel()

  • 资金授权解冻接口

    alipay.fund.auth.order.unfreeze - FundAuthOrderUnfreeze()

  • 资金授权冻结接口

    alipay.fund.auth.order.freeze - FundAuthOrderFreeze()

  • 线上资金授权冻结接口

    alipay.fund.auth.order.app.freeze - FundAuthOrderAppFreeze()

  • 查询对账单下载地址

    alipay.data.dataservice.bill.downloadurl.query - BillDownloadURLQuery()

  • 身份认证初始化服务

    alipay.user.certify.open.initialize - UserCertifyOpenInitialize()

  • 身份认证开始认证

    alipay.user.certify.open.certify - UserCertifyOpenCertify()

  • 身份认证记录查询

    alipay.user.certify.open.query - UserCertifyOpenQuery()

  • 用户信息授权(网站支付宝登录快速接入)

    生成授权链接 - PublicAppAuthorize()

  • 换取授权访问令牌

    alipay.system.oauth.token - SystemOauthToken()

  • 支付宝会员授权信息查询接口

    alipay.user.info.share - UserInfoShare()

通知
  • 通知内容转换及签名验证

    将支付宝的通知内容转换为 Golang 的结构体,并且验证其合法性。

集成流程

支付宝开放平台申请创建相关的应用,使用自己的支付宝账号登录即可。

沙箱环境

支付宝开放平台为每一个应用提供了沙箱环境,供开发人员开发测试使用。

沙箱环境是独立的,每一个应用都会有一个商家账号和买家账号。

应用信息配置

参考官网文档 进行应用的配置。

本 SDK 中的签名方法默认为 RSA2,采用支付宝提供的 RSA签名&验签工具 生成秘钥时,秘钥的格式必须为 PKCS1,秘钥长度推荐 2048。所以在支付宝管理后台请注意配置 RSA2(SHA256)密钥

生成秘钥对之后,将公钥提供给支付宝(通过支付宝后台上传)对我们请求的数据进行签名验证,我们的代码中将使用私钥对请求数据签名。

请参考 如何生成 RSA 密钥

创建 Wap 支付
var aliPublicKey = "" // 可选,支付宝提供给我们用于签名验证的公钥,通过支付宝管理后台获取
var privateKey = "xxx" // 必须,上一步中使用 RSA签名验签工具 生成的私钥
var client, err = alipay.New(appId, aliPublicKey, privateKey, false)

// 将 key 的验证调整到初始化阶段
if err != nil {
	fmt.Println(err)
	return
}

var p = alipay.TradeWapPay{}
p.NotifyURL = "http://xxx"
p.ReturnURL = "http://xxx"
p.Subject = "标题"
p.OutTradeNo = "传递一个唯一单号"
p.TotalAmount = "10.00"
p.ProductCode = "QUICK_WAP_WAY"

var url, err = client.TradeWapPay(p)
if err != nil {
	fmt.Println(err)
}

var payURL = url.String()
fmt.Println(payURL)
// 这个 payURL 即是用于支付的 URL,可将输出的内容复制,到浏览器中访问该 URL 即可打开支付页面。
同步返回验签

支持自动对支付宝返回的数据进行签名验证,详细信息请参考自行实现验签.

如果需要开启自动验签,只需要在初始化 AliPay 对象的时候提供 aliPublicKey 参数,该参数的值为支付宝管理后台获取到的支付宝公钥,如下:

var client, err = alipay.New(appId, aliPublicKey, privateKey, false)
Return URL

发起支付的时候,当我们有提供 Return URL 参数,那么支付成功之后,支付宝将会重定向到该 URL,并附带上相关的参数。

var p = alipay.TradeWapPay{}
p.ReturnURL = "http://xxx/return"

这时候我们需要对支付宝提供的参数进行签名验证,当然,前提是我们在 alipay.New(...) 初始化方法中有正确提供 支付宝公钥

var client, err = alipay.New(appId, aliPublicKey, privateKey, false)

http.HandleFunc("/return", func(rep http.ResponseWriter, req *http.Request) {
	req.ParseForm()
	ok, err := client.VerifySign(req.Form)
	fmt.Println(ok, err)
}
异步验证支付结果

有支付或者其它动作发生后,支付宝服务器会调用我们提供的 Notify URL,并向其传递会相关的信息。参考手机网站支付结果异步通知

我们需要在提供的 Notify URL 服务中获取相关的参数并进行验证:


var client, err = alipay.New(appId, aliPublicKey, privateKey, false)
 
http.HandleFunc("/alipay", func(rep http.ResponseWriter, req *http.Request) {
	var noti, _ = client.GetTradeNotification(req)
	if noti != nil {
		fmt.Println("支付成功")
	} else {
		fmt.Println("支付失败")
	}
	alipay.AckNotification(rep) // 确认收到通知消息
})

此验证方法适用于支付宝所有情况下发送的 Notify,不管是手机 App 支付还是 Wap 支付。

关于应用私钥 (privateKey)

应用私钥是我们通过工具生成的私钥,调用支付宝接口的时候,我们需要使用该私钥对参数进行签名。

关于应用公钥 (publicKey)

应用公钥是我们通过工具生成的公钥,需要通过支付宝后台上传该公钥,支付宝收到我们请求的时候,会使用该公钥对参数进行签名验证,以确保数据的有效性。

关于支付宝公钥 (aliPublicKey)

支付宝公钥是从支付宝管理后台获取 (不是我们通过工具生成的公钥),该公钥是支付宝提供给我们用于验证支付宝接口返回数据的有效性 (我们需要使用该公钥对支付宝返回的数据进行签名验证)。

关于 alipay.New() 函数中的最后一个参数 isProduction

支付宝提供了用于开发时测试的 sandbox 环境,对接的时候需要注意相关的 app id 和密钥是 sandbox 环境还是 production 环境的。如果是 sandbox 环境,本参数应该传 false,否则为 true。

支持 RSA 签名及验证

默认采用的是 RSA2 签名,不再提供 RSA 的支持

License

This project is licensed under the MIT License.

Expand ▾ Collapse ▴

Documentation

Index

Constants

View Source
const (
	K_TRADE_STATUS_WAIT_BUYER_PAY = "WAIT_BUYER_PAY" //(交易创建,等待买家付款)
	K_TRADE_STATUS_TRADE_CLOSED   = "TRADE_CLOSED"   //(未付款交易超时关闭,或支付完成后全额退款)
	K_TRADE_STATUS_TRADE_SUCCESS  = "TRADE_SUCCESS"  //(交易支付成功)
	K_TRADE_STATUS_TRADE_FINISHED = "TRADE_FINISHED" //(交易结束,不可退款)
)

//////////////////////////////////////////////////////////////////////////////

View Source
const (
	K_NOTIFY_TYPE_TRADE_STATUS_SYNC = "trade_status_sync"
)
View Source
const (
	// https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=105806&docType=1
	K_SUCCESS_CODE = "10000"
)

Variables

This section is empty.

Functions

func AckNotification

func AckNotification(w http.ResponseWriter)

func NewRequest

func NewRequest(method, url string, params url.Values) (*http.Request, error)

Types

type BillDownloadURLQuery

type BillDownloadURLQuery struct {
	AppAuthToken string `json:"-"` // 可选
	BillType     string `json:"bill_type"`
	BillDate     string `json:"bill_date"`
}

https://docs.open.alipay.com/api_15/alipay.data.dataservice.bill.downloadurl.query

func (BillDownloadURLQuery) APIName

func (this BillDownloadURLQuery) APIName() string

func (BillDownloadURLQuery) Params

func (this BillDownloadURLQuery) Params() map[string]string

type BillDownloadURLQueryRsp

type BillDownloadURLQueryRsp struct {
	Content struct {
		Code            string `json:"code"`
		Msg             string `json:"msg"`
		SubCode         string `json:"sub_code"`
		SubMsg          string `json:"sub_msg"`
		BillDownloadUrl string `json:"bill_download_url"`
	} `json:"alipay_data_dataservice_bill_downloadurl_query_response"`
	Sign string `json:"sign"`
}

type CertifyBizCode

type CertifyBizCode string

//////////////////////////////////////////////////////////////////////////////

const (
	K_CERTIFY_BIZ_CODE_FACE            CertifyBizCode = "FACE"            // 多因子人脸认证
	K_CERTIFY_BIZ_CODE_CERT_PHOTO      CertifyBizCode = "CERT_PHOTO"      // 多因子证照认证
	K_CERTIFY_BIZ_CODE_CERT_PHOTO_FACE CertifyBizCode = "CERT_PHOTO_FACE" // 多因子证照和人脸认证
	K_CERTIFY_BIZ_CODE_SMART_FACE      CertifyBizCode = "SMART_FACE"      // 多因子快捷认证
)

type Client

type Client struct {
	Client *http.Client
	// contains filtered or unexported fields
}

func New

func New(appId, aliPublicKey, privateKey string, isProduction bool) (client *Client, err error)

New 初始化支付宝客户端 appId - 支付宝应用 id aliPublicKey - 支付宝公钥,创建支付宝应用之后,从支付宝后台获取 privateKey - 应用私钥,开发者自己生成 isProduction - 是否为生产环境,传 false 的时候为沙箱环境,用于开发测试,正式上线的时候需要改为 true

func (*Client) AckNotification

func (this *Client) AckNotification(w http.ResponseWriter)

func (*Client) AppToAppAuth

func (this *Client) AppToAppAuth(redirectURI string) (result *url.URL, err error)

AppToAppAuth 第三方应用授权 https://docs.open.alipay.com/20160728150111277227/intro

func (*Client) BillDownloadURLQuery

func (this *Client) BillDownloadURLQuery(param BillDownloadURLQuery) (result *BillDownloadURLQueryRsp, err error)

BillDownloadURLQuery 查询对账单下载地址 https://docs.open.alipay.com/api_15/alipay.data.dataservice.bill.downloadurl.query

func (*Client) DoRequest

func (this *Client) DoRequest(method string, param Param, result interface{}) (err error)

func (*Client) FundAuthOperationCancel

func (this *Client) FundAuthOperationCancel(param FundAuthOperationCancel) (result *FundAuthOperationCancelRsp, err error)

FundAuthOperationCancel 资金授权撤销接口 https://docs.open.alipay.com/api_28/alipay.fund.auth.operation.cancel/

func (*Client) FundAuthOperationDetailQuery

func (this *Client) FundAuthOperationDetailQuery(param FundAuthOperationDetailQuery) (result *FundAuthOperationDetailQueryRsp, err error)

FundAuthOperationDetailQuery 资金授权操作查询接口 https://docs.open.alipay.com/api_28/alipay.fund.auth.operation.detail.query/

func (*Client) FundAuthOrderAppFreeze

func (this *Client) FundAuthOrderAppFreeze(param FundAuthOrderAppFreeze) (result string, err error)

FundAuthOrderAppFreeze 线上资金授权冻结接口 https://docs.open.alipay.com/api_28/alipay.fund.auth.order.app.freeze

func (*Client) FundAuthOrderFreeze

func (this *Client) FundAuthOrderFreeze(param FundAuthOrderFreeze) (result *FundAuthOrderFreezeRsp, err error)

FundAuthOrderFreeze 资金授权冻结接口 https://docs.open.alipay.com/api_28/alipay.fund.auth.order.freeze/

func (*Client) FundAuthOrderUnfreeze

func (this *Client) FundAuthOrderUnfreeze(param FundAuthOrderUnfreeze) (result *FundAuthOrderUnfreezeRsp, err error)

FundAuthOrderUnfreeze 资金授权解冻接口 https://docs.open.alipay.com/api_28/alipay.fund.auth.order.unfreeze/

func (*Client) FundAuthOrderVoucherCreate

func (this *Client) FundAuthOrderVoucherCreate(param FundAuthOrderVoucherCreate) (result *FundAuthOrderVoucherCreateRsp, err error)

FundAuthOrderVoucherCreate https://docs.open.alipay.com/api_28/alipay.fund.auth.order.voucher.create/ 资金授权发码接口

func (*Client) FundTransOrderQuery

func (this *Client) FundTransOrderQuery(param FundTransOrderQuery) (result *FundTransOrderQueryRsp, err error)

FundTransOrderQuery https://docs.open.alipay.com/api_28/alipay.fund.trans.order.query/ 查询转账订单接口

func (*Client) FundTransToAccountTransfer

func (this *Client) FundTransToAccountTransfer(param FundTransToAccountTransfer) (result *FundTransToAccountTransferRsp, err error)

FundTransToAccountTransfer https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer 单笔转账到支付宝账户接口

func (*Client) GetTradeNotification

func (this *Client) GetTradeNotification(req *http.Request) (noti *TradeNotification, err error)

func (*Client) IsProduction

func (this *Client) IsProduction() bool

func (*Client) LoadAliPayPublicCert

func (this *Client) LoadAliPayPublicCert(s string) error

func (*Client) LoadAliPayPublicCertFromFile

func (this *Client) LoadAliPayPublicCertFromFile(filename string) error

func (*Client) LoadAliPayRootCert

func (this *Client) LoadAliPayRootCert(s string) error

func (*Client) LoadAliPayRootCertFromFile

func (this *Client) LoadAliPayRootCertFromFile(filename string) error

func (*Client) LoadAppPublicCert

func (this *Client) LoadAppPublicCert(s string) error

func (*Client) LoadAppPublicCertFromFile

func (this *Client) LoadAppPublicCertFromFile(filename string) error

func (*Client) NotifyVerify

func (this *Client) NotifyVerify(partnerId, notifyId string) bool

func (*Client) OpenAuthTokenApp

func (this *Client) OpenAuthTokenApp(param OpenAuthTokenApp) (result *OpenAuthTokenAppRsp, err error)

换取应用授权令牌 https://docs.open.alipay.com/api_9/alipay.open.auth.token.app

func (*Client) PublicAppAuthorize

func (this *Client) PublicAppAuthorize(scopes []string, redirectURI, state string) (result *url.URL, err error)

PublicAppAuthorize 用户信息授权(网站支付宝登录快速接入) https://docs.open.alipay.com/289/105656#s3 (https://docs.open.alipay.com/263/105809)

func (*Client) SystemOauthToken

func (this *Client) SystemOauthToken(param SystemOauthToken) (result *SystemOauthTokenRsp, err error)

SystemOauthToken 换取授权访问令牌 https://docs.open.alipay.com/api_9/alipay.system.oauth.token

func (*Client) TradeAppPay

func (this *Client) TradeAppPay(param TradeAppPay) (result string, err error)

TradeAppPay App支付接口 https://docs.open.alipay.com/api_1/alipay.trade.app.pay

func (*Client) TradeCancel

func (this *Client) TradeCancel(param TradeCancel) (result *TradeCancelRsp, err error)

TradeCancel 统一收单交易撤销接口 https://docs.open.alipay.com/api_1/alipay.trade.cancel/

func (*Client) TradeClose

func (this *Client) TradeClose(param TradeClose) (result *TradeCloseRsp, err error)

TradeClose 统一收单交易关闭接口 https://docs.open.alipay.com/api_1/alipay.trade.close/

func (*Client) TradeCreate

func (this *Client) TradeCreate(param TradeCreate) (result *TradeCreateRsp, err error)

TradeCreate 统一收单交易创建接口 https://docs.open.alipay.com/api_1/alipay.trade.create/

func (*Client) TradeFastPayRefundQuery

func (this *Client) TradeFastPayRefundQuery(param TradeFastPayRefundQuery) (result *TradeFastPayRefundQueryRsp, err error)

TradeFastPayRefundQuery 统一收单交易退款查询 https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query

func (*Client) TradeOrderInfoSync

func (this *Client) TradeOrderInfoSync(param TradeOrderInfoSync) (result *TradeOrderInfoSyncRsp, err error)

TradeOrderInfoSync 支付宝订单信息同步接口 https://docs.open.alipay.com/api_1/alipay.trade.orderinfo.sync/

func (*Client) TradeOrderSettle

func (this *Client) TradeOrderSettle(param TradeOrderSettle) (result *TradeOrderSettleRsp, err error)

TradeOrderSettle 统一收单交易结算接口 https://docs.open.alipay.com/api_1/alipay.trade.order.settle

func (*Client) TradePagePay

func (this *Client) TradePagePay(param TradePagePay) (result *url.URL, err error)

TradePagePay 统一收单下单并支付页面接口 https://docs.open.alipay.com/api_1/alipay.trade.page.pay

func (*Client) TradePay

func (this *Client) TradePay(param TradePay) (result *TradePayRsp, err error)

TradePay 统一收单交易支付接口 https://docs.open.alipay.com/api_1/alipay.trade.pay/

func (*Client) TradePreCreate

func (this *Client) TradePreCreate(param TradePreCreate) (result *TradePreCreateRsp, err error)

TradePreCreate 统一收单线下交易预创建 https://docs.open.alipay.com/api_1/alipay.trade.precreate/

func (*Client) TradeQuery

func (this *Client) TradeQuery(param TradeQuery) (result *TradeQueryRsp, err error)

TradeQuery 统一收单线下交易查询 https://docs.open.alipay.com/api_1/alipay.trade.query/

func (*Client) TradeRefund

func (this *Client) TradeRefund(param TradeRefund) (result *TradeRefundRsp, err error)

TradeRefund 统一收单交易退款接口 https://docs.open.alipay.com/api_1/alipay.trade.refund/

func (*Client) TradeWapPay

func (this *Client) TradeWapPay(param TradeWapPay) (result *url.URL, err error)

TradeWapPay 手机网站支付接口 https://docs.open.alipay.com/api_1/alipay.trade.wap.pay/

func (*Client) URLValues

func (this *Client) URLValues(param Param) (value url.Values, err error)

func (*Client) UserCertifyOpenCertify

func (this *Client) UserCertifyOpenCertify(param UserCertifyOpenCertify) (result *url.URL, err error)

UserCertifyOpenCertify 身份认证开始认证 https://docs.open.alipay.com/api_2/alipay.user.certify.open.certify

func (*Client) UserCertifyOpenInitialize

func (this *Client) UserCertifyOpenInitialize(param UserCertifyOpenInitialize) (result *UserCertifyOpenInitializeRsp, err error)

UserCertifyOpenInitialize 身份认证初始化服务 https://docs.open.alipay.com/api_2/alipay.user.certify.open.initialize

func (*Client) UserCertifyOpenQuery

func (this *Client) UserCertifyOpenQuery(param UserCertifyOpenQuery) (result *UserCertifyOpenQueryRsp, err error)

UserCertifyOpenQuery 身份认证记录查询 https://docs.open.alipay.com/api_2/alipay.user.certify.open.query/

func (*Client) UserInfoShare

func (this *Client) UserInfoShare(param UserInfoShare) (result *UserInfoShareRsp, err error)

UserInfoShare 支付宝会员授权信息查询接口 https://docs.open.alipay.com/api_2/alipay.user.info.share

func (*Client) VerifySign

func (this *Client) VerifySign(data url.Values) (ok bool, err error)

type ErrorRsp

type ErrorRsp struct {
	Code    string `json:"code"`
	Msg     string `json:"msg"`
	SubCode string `json:"sub_code"`
	SubMsg  string `json:"sub_msg"`
}

func (*ErrorRsp) Error

func (this *ErrorRsp) Error() string

type ExtendParamsItem

type ExtendParamsItem struct {
	SysServiceProviderId string `json:"sys_service_provider_id"`
	HbFqNum              string `json:"hb_fq_num"`
	HbFqSellerPercent    string `json:"hb_fq_seller_percent"`
	TimeoutExpress       string `json:"timeout_express"`
}

type FundAuthOperationCancel

type FundAuthOperationCancel struct {
	NotifyURL    string `json:"-"`
	AppAuthToken string `json:"-"`                        // 可选
	AuthNo       string `json:"auth_no,omitempty"`        // 特殊可选, 支付宝授权资金订单号,与商户的授权资金订单号不能同时为空,二者都存在时,以支付宝资金授权订单号为准,该参数与支付宝授权资金操作流水号配对使用。
	OutOrderNo   string `json:"out_order_no,omitempty"`   // 特殊可选,  商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空,二者都存在时,以支付宝的授权资金订单号为准,该参数与商户的授权资金操作流水号配对使用。
	OperationId  string `json:"operation_id,omitempty"`   // 特殊可选, 支付宝的授权资金操作流水号,与商户的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与支付宝授权资金订单号配对使用。
	OutRequestNo string `json:"out_request_no,omitempty"` // 特殊可选, 商户的授权资金操作流水号,与支付宝的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与商户的授权资金订单号配对使用。
	Remark       string `json:"remark"`                   // 必选, 商户对本次撤销操作的附言描述,长度不超过100个字母或50个汉字
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.auth.operation.cancel/ 资金授权撤销接口

func (FundAuthOperationCancel) APIName

func (this FundAuthOperationCancel) APIName() string

func (FundAuthOperationCancel) Params

func (this FundAuthOperationCancel) Params() map[string]string

type FundAuthOperationCancelRsp

type FundAuthOperationCancelRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		AuthNo       string `json:"auth_no"`
		OutOrderNo   string `json:"out_order_no"`
		OperationId  string `json:"operation_id"`
		OutRequestNo string `json:"out_request_no"`
		Action       string `json:"action"`
	} `json:"alipay_fund_auth_operation_cancel_response"`
	Sign string `json:"sign"`
}

type FundAuthOperationDetailQuery

type FundAuthOperationDetailQuery struct {
	AppAuthToken string `json:"-"`              // 可选
	AuthNo       string `json:"auth_no"`        // 特殊可选, 支付宝授权资金订单号,与商户的授权资金订单号不能同时为空,二者都存在时,以支付宝资金授权订单号为准,该参数与支付宝授权资金操作流水号配对使用。
	OutOrderNo   string `json:"out_order_no"`   // 特殊可选, 商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空,二者都存在时,以支付宝的授权资金订单号为准,该参数与商户的授权资金操作流水号配对使用。
	OperationId  string `json:"operation_id"`   // 特殊可选, 支付宝的授权资金操作流水号,与商户的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与支付宝授权资金订单号配对使用。
	OutRequestNo string `json:"out_request_no"` // 特殊可选, 商户的授权资金操作流水号,与支付宝的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与商户的授权资金订单号配对使用。
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.auth.operation.detail.query/ 资金授权操作查询接口

func (FundAuthOperationDetailQuery) APIName

func (this FundAuthOperationDetailQuery) APIName() string

func (FundAuthOperationDetailQuery) Params

func (this FundAuthOperationDetailQuery) Params() map[string]string

type FundAuthOperationDetailQueryRsp

type FundAuthOperationDetailQueryRsp struct {
	Content struct {
		AuthNo                  string `json:"auth_no"`
		OutOrderNo              string `json:"out_order_no"`
		TotalFreezeAmount       string `json:"total_freeze_amount"`
		RestAmount              string `json:"rest_amount"`
		TotalPayAmount          string `json:"total_pay_amount"`
		OrderTitle              string `json:"order_title"`
		PayerLogonId            string `json:"payer_logon_id"`
		PayerUserId             string `json:"payer_user_id"`
		ExtraParam              string `json:"extra_param"`
		OperationId             string `json:"operation_id"`
		OutRequestNo            string `json:"out_request_no"`
		Amount                  string `json:"amount"`
		OperationType           string `json:"operation_type"`
		Status                  string `json:"status"`
		Remark                  string `json:"remark"`
		GMTCreate               string `json:"gmt_create"`
		GMTTrans                string `json:"gmt_trans"`
		PreAuthType             string `json:"pre_auth_type"`
		TransCurrency           string `json:"trans_currency"`
		TotalFreezeCreditAmount string `json:"total_freeze_credit_amount"`
		TotalFreezeFundAmount   string `json:"total_freeze_fund_amount"`
		TotalPayCreditAmount    string `json:"total_pay_credit_amount"`
		TotalPayFundAmount      string `json:"total_pay_fund_amount"`
		RestCreditAmount        string `json:"rest_credit_amount"`
		RestFundAmount          string `json:"rest_fund_amount"`
		CreditAmount            string `json:"credit_amount"`
		FundAmount              string `json:"fund_amount"`
	} `json:"alipay_fund_auth_operation_detail_query_response"`
	Sign string `json:"sign"`
}

type FundAuthOrderAppFreeze

type FundAuthOrderAppFreeze struct {
	NotifyURL         string `json:"-"`
	AppAuthToken      string `json:"-"`                             // 可选
	OutOrderNo        string `json:"out_order_no"`                  // 必选, 商户授权资金订单号 ,不能包含除中文、英文、数字以外的字符,创建后不能修改,需要保证在商户端不重复。
	OutRequestNo      string `json:"out_request_no"`                // 必选, 商户本次资金操作的请求流水号,用于标示请求流水的唯一性,不能包含除中文、英文、数字以外的字符,需要保证在商户端不重复。
	OrderTitle        string `json:"order_title"`                   // 必选, 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字
	Amount            string `json:"amount"`                        // 必选, 需要冻结的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00]
	ProductCode       string `json:"product_code"`                  // 必选, 销售产品码,新接入线上预授权的业务,本字段取值固定为PRE_AUTH_ONLINE 。
	PayeeLogonId      string `json:"payee_logon_id,omitempty"`      // 收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。
	PayeeUserId       string `json:"payee_user_id,omitempty"`       // 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。
	PayTimeout        string `json:"pay_timeout,omitempty"`         // 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m 如果为空,默认15m
	ExtraParam        string `json:"extra_param,omitempty"`         // 业务扩展参数,用于商户的特定业务信息的传递,json格式。 1.授权业务对应的类目,key为category,value由支付宝分配,比如充电桩业务传 "CHARGE_PILE_CAR"; 2. 外部商户的门店编号,key为outStoreCode,可选; 3. 外部商户的门店简称,key为outStoreAlias,可选。
	EnablePayChannels string `json:"enable_pay_channels,omitempty"` // 商户可用该参数指定用户可使用的支付渠道,本期支持商户可支持三种支付渠道,余额宝(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA)。商户可设置一种支付渠道,也可设置多种支付渠道。
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.auth.order.app.freeze 线上资金授权冻结接口请求参数

func (FundAuthOrderAppFreeze) APIName

func (this FundAuthOrderAppFreeze) APIName() string

func (FundAuthOrderAppFreeze) Params

func (this FundAuthOrderAppFreeze) Params() map[string]string

type FundAuthOrderAppFreezeRsp

type FundAuthOrderAppFreezeRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		AuthNo       string `json:"auth_no"`
		OutOrderNo   string `json:"out_order_no"`
		OperationId  string `json:"operation_id"`
		OutRequestNo string `json:"out_request_no"`
		Amount       string `json:"amount"`
		Status       string `json:"status"`
		PayerUserId  string `json:"payer_user_id"`
		GMTTrans     string `json:"gmt_trans"`
		PreAuthType  string `json:"pre_auth_type"`
		CreditAmount string `json:"credit_amount"`
		FundAmount   string `json:"fund_amount"`
	} `json:"alipay_fund_auth_order_app_freeze_response"`
	Sign string `json:"sign"`
}

type FundAuthOrderFreeze

type FundAuthOrderFreeze struct {
	NotifyURL    string `json:"-"`
	AppAuthToken string `json:"-"`                        // 可选
	AuthCode     string `json:"auth_code"`                // 必选, 支付授权码,25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准
	AuthCodeType string `json:"auth_code_type"`           // 必选, 授权码类型 目前仅支持"bar_code"
	OutOrderNo   string `json:"out_order_no"`             // 必选, 商户授权资金订单号 ,不能包含除中文、英文、数字以外的字符,创建后不能修改,需要保证在商户端不重复。
	OutRequestNo string `json:"out_request_no"`           // 必选, 商户本次资金操作的请求流水号,用于标示请求流水的唯一性,不能包含除中文、英文、数字以外的字符,需要保证在商户端不重复。
	OrderTitle   string `json:"order_title"`              // 必选, 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字
	Amount       string `json:"amount"`                   // 必选, 需要冻结的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00]
	PayeeLogonId string `json:"payee_logon_id,omitempty"` // 可选, 收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。
	PayeeUserId  string `json:"payee_user_id,omitempty"`  // 可选, 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。
	PayTimeout   string `json:"pay_timeout,omitempty"`    // 可选, 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m 如果为空,默认15m
	ExtraParam   string `json:"extra_param,omitempty"`    // 可选, 业务扩展参数,用于商户的特定业务信息的传递,json格式。 1.授权业务对应的类目,key为category,value由支付宝分配,比如充电桩业务传 "CHARGE_PILE_CAR"; 2. 外部商户的门店编号,key为outStoreCode,可选; 3. 外部商户的门店简称,key为outStoreAlias,可选。
	ProductCode  string `json:"product_code,omitempty"`   // 可选, 销售产品码,后续新接入预授权当面付的业务,本字段取值固定为PRE_AUTH。
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.auth.order.freeze/ 资金授权冻结接口

func (FundAuthOrderFreeze) APIName

func (this FundAuthOrderFreeze) APIName() string

func (FundAuthOrderFreeze) Params

func (this FundAuthOrderFreeze) Params() map[string]string

type FundAuthOrderFreezeRsp

type FundAuthOrderFreezeRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		AuthNo       string `json:"auth_no"`
		OutOrderNo   string `json:"out_order_no"`
		OperationId  string `json:"operation_id"`
		OutRequestNo string `json:"out_request_no"`
		Amount       string `json:"amount"`
		Status       string `json:"status"`
		PayerUserId  string `json:"payer_user_id"`
		GMTTrans     string `json:"gmt_trans"`
	} `json:"alipay_fund_auth_order_freeze_response"`
	Sign string `json:"sign"`
}

type FundAuthOrderUnfreeze

type FundAuthOrderUnfreeze struct {
	NotifyURL    string `json:"-"`
	AuthNo       string `json:"auth_no"`               // 必选,支付宝资金授权订单号,支付宝冻结时返回的交易号,数字格式 2016101210002001810258115912
	AppAuthToken string `json:"-"`                     // 可选
	OutRequestNo string `json:"out_request_no"`        // 必选, 商户本次资金操作的请求流水号,用于标示请求流水的唯一性,不能包含除中文、英文、数字以外的字符,需要保证在商户端不重复。
	Amount       string `json:"amount"`                // 必选, 本次操作解冻的金额,单位为:元(人民币),精确到小数点后两位,取值范围:[0.01,100000000.00]
	Remark       string `json:"remark"`                // 必选, 商户对本次解冻操作的附言描述,长度不超过100个字母或50个汉字
	ExtraParam   string `json:"extra_param,omitempty"` // 可选, 解冻扩展信息,json格式;unfreezeBizInfo 目前为芝麻消费字段,支持Key值如下: "bizComplete":"true" -- 选填:标识本次解冻用户是否履约,如果true信用单会完结为COMPLETE
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.auth.order.unfreeze/ 资金授权解冻接口

func (FundAuthOrderUnfreeze) APIName

func (this FundAuthOrderUnfreeze) APIName() string

func (FundAuthOrderUnfreeze) Params

func (this FundAuthOrderUnfreeze) Params() map[string]string

type FundAuthOrderUnfreezeRsp

type FundAuthOrderUnfreezeRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		AuthNo       string `json:"auth_no"`
		OutOrderNo   string `json:"out_order_no"`
		OperationId  string `json:"operation_id"`
		OutRequestNo string `json:"out_request_no"`
		Amount       string `json:"amount"`
		Status       string `json:"status"`
		GMTTrans     string `json:"gmt_trans"`
		CreditAmount string `json:"credit_amount"`
		FundAmount   string `json:"fund_amount"`
	} `json:"alipay_fund_auth_order_unfreeze_response"`
	Sign string `json:"sign"`
}

type FundAuthOrderVoucherCreate

type FundAuthOrderVoucherCreate struct {
	NotifyURL         string `json:"-"`
	AppAuthToken      string `json:"-"`                             // 可选
	OutOrderNo        string `json:"out_order_no"`                  // 必选, 商户授权资金订单号,创建后不能修改,需要保证在商户端不重复。
	OutRequestNo      string `json:"out_request_no"`                // 必选, 商户本次资金操作的请求流水号,用于标示请求流水的唯一性,需要保证在商户端不重复。
	ProductCode       string `json:"product_code,omitempty"`        // 必选, 销售产品码,后续新接入预授权当面付的业务,本字段取值固定为PRE_AUTH。
	OrderTitle        string `json:"order_title"`                   // 必选, 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字
	Amount            string `json:"amount"`                        // 必选, 需要冻结的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00]
	PayeeUserId       string `json:"payee_user_id,omitempty"`       // 可选, 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。
	PayeeLogonId      string `json:"payee_logon_id,omitempty"`      // 可选, 收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。
	PayTimeout        string `json:"pay_timeout,omitempty"`         // 可选, 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m 如果为空,默认15m
	ExtraParam        string `json:"extra_param,omitempty"`         // 可选, 业务扩展参数,用于商户的特定业务信息的传递,json格式。 1.授权业务对应的类目,key为category,value由支付宝分配,比如充电桩业务传 "CHARGE_PILE_CAR"; 2. 外部商户的门店编号,key为outStoreCode,可选; 3. 外部商户的门店简称,key为outStoreAlias,可选。
	TransCurrency     string `json:"trans_currency,omitempty"`      // 可选, 标价币种, amount 对应的币种单位。支持澳元:AUD, 新西兰元:NZD, 台币:TWD, 美元:USD, 欧元:EUR, 英镑:GBP
	SettleCurrency    string `json:"settle_currency,omitempty"`     // 可选, 商户指定的结算币种。支持澳元:AUD, 新西兰元:NZD, 台币:TWD, 美元:USD, 欧元:EUR, 英镑:GBP
	EnablePayChannels string `json:"enable_pay_channels,omitempty"` // 可选, 商户可用该参数指定用户可使用的支付渠道,本期支持商户可支持三种支付渠道,余额宝(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA)。商户可设置一种支付渠道,也可设置多种支付渠道。
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.auth.order.voucher.create/ 资金授权发码接口

func (FundAuthOrderVoucherCreate) APIName

func (this FundAuthOrderVoucherCreate) APIName() string

func (FundAuthOrderVoucherCreate) Params

func (this FundAuthOrderVoucherCreate) Params() map[string]string

type FundAuthOrderVoucherCreateRsp

type FundAuthOrderVoucherCreateRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		OutOrderNo   string `json:"out_order_no"`
		OutRequestNo string `json:"out_request_no"`
		CodeType     string `json:"code_type"`
		CodeValue    string `json:"code_value"`
		CodeURL      string `json:"code_url"`
	} `json:"alipay_fund_auth_order_voucher_create_response"`
	Sign string `json:"sign"`
}

type FundBill

type FundBill struct {
	FundChannel string  `json:"fund_channel"`       // 交易使用的资金渠道,详见 支付渠道列表
	Amount      string  `json:"amount"`             // 该支付工具类型所使用的金额
	RealAmount  float64 `json:"real_amount,string"` // 渠道实际付款金额
}

type FundTransOrderQuery

type FundTransOrderQuery struct {
	AppAuthToken string `json:"-"`                    // 可选
	OutBizNo     string `json:"out_biz_no,omitempty"` // 与 OrderId 二选一
	OrderId      string `json:"order_id,omitempty"`   // 与 OutBizNo 二选一
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.trans.order.query/ 查询转账订单接口请求参数

func (FundTransOrderQuery) APIName

func (this FundTransOrderQuery) APIName() string

func (FundTransOrderQuery) Params

func (this FundTransOrderQuery) Params() map[string]string

type FundTransOrderQueryRsp

type FundTransOrderQueryRsp struct {
	Content struct {
		Code           string `json:"code"`
		Msg            string `json:"msg"`
		SubCode        string `json:"sub_code"`
		SubMsg         string `json:"sub_msg"`
		OutBizNo       string `json:"out_biz_no"`       // 发起转账来源方定义的转账单据号。 该参数的赋值均以查询结果中 的 out_biz_no 为准。 如果查询失败,不返回该参数
		OrderId        string `json:"order_id"`         // 支付宝转账单据号,查询失败不返回。
		Status         string `json:"status"`           // 转账单据状态
		PayDate        string `json:"pay_date"`         // 支付时间
		ArrivalTimeEnd string `json:"arrival_time_end"` // 预计到账时间,转账到银行卡专用
		OrderFree      string `json:"order_fee"`        // 预计收费金额(元),转账到银行卡专用
		FailReason     string `json:"fail_reason"`      // 查询到的订单状态为FAIL失败或REFUND退票时,返回具体的原因。
		ErrorCode      string `json:"error_code"`       // 查询失败时,本参数为错误代 码。 查询成功不返回。 对于退票订单,不返回该参数。
	} `json:"alipay_fund_trans_order_query_response"`
	Sign string `json:"sign"`
}

查询转账订单接口响应参数

func (*FundTransOrderQueryRsp) IsSuccess

func (this *FundTransOrderQueryRsp) IsSuccess() bool

type FundTransToAccountTransfer

type FundTransToAccountTransfer struct {
	AppAuthToken  string `json:"-"`               // 可选
	OutBizNo      string `json:"out_biz_no"`      // 必选 商户转账唯一订单号
	PayeeType     string `json:"payee_type"`      // 必选 收款方账户类型,"ALIPAY_LOGONID":支付宝帐号
	PayeeAccount  string `json:"payee_account"`   // 必选 收款方账户。与payee_type配合使用
	Amount        string `json:"amount"`          // 必选 转账金额,元
	PayerShowName string `json:"payer_show_name"` // 可选 付款方显示姓名
	PayeeRealName string `json:"payee_real_name"` // 可选 收款方真实姓名,如果本参数不为空,则会校验该账户在支付宝登记的实名是否与收款方真实姓名一致。
	Remark        string `json:"remark"`          // 可选 转账备注,金额大于50000时必填
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer 单笔转账到支付宝账户接口请求结构

func (FundTransToAccountTransfer) APIName

func (this FundTransToAccountTransfer) APIName() string

func (FundTransToAccountTransfer) Params

func (this FundTransToAccountTransfer) Params() map[string]string

type FundTransToAccountTransferRsp

type FundTransToAccountTransferRsp struct {
	Content struct {
		Code     string `json:"code"`
		Msg      string `json:"msg"`
		SubCode  string `json:"sub_code"`
		SubMsg   string `json:"sub_msg"`
		OutBizNo string `json:"out_biz_no"` // 商户转账唯一订单号:发起转账来源方定义的转账单据号。请求时对应的参数,原样返回
		OrderId  string `json:"order_id"`   // 支付宝转账单据号,成功一定返回,失败可能不返回也可能返回
		PayDate  string `json:"pay_date"`   // 支付时间:格式为yyyy-MM-dd HH:mm:ss,仅转账成功返回
	} `json:"alipay_fund_trans_toaccount_transfer_response"`
	Sign string `json:"sign"`
}

单笔转账到支付宝账户接口响应参数

func (*FundTransToAccountTransferRsp) IsSuccess

func (this *FundTransToAccountTransferRsp) IsSuccess() bool

type GoodsDetail

type GoodsDetail struct {
	GoodsId        string  `json:"goods_id"`
	AliPayGoodsId  string  `json:"alipay_goods_id,omitempty"`
	GoodsName      string  `json:"goods_name"`
	Quantity       int     `json:"quantity"`
	Price          float64 `json:"price"`
	GoodsCategory  string  `json:"goods_category,omitempty"`
	CategoriesTree string  `json:"categories_tree,omitempty"`
	Body           string  `json:"body,omitempty"`
	ShowURL        string  `json:"show_url,omitempty"`
}

type GoodsDetailItem

type GoodsDetailItem struct {
	GoodsId       string `json:"goods_id"`
	AliPayGoodsId string `json:"alipay_goods_id"`
	GoodsName     string `json:"goods_name"`
	Quantity      string `json:"quantity"`
	Price         string `json:"price"`
	GoodsCategory string `json:"goods_category"`
	Body          string `json:"body"`
	ShowUrl       string `json:"show_url"`
}

type IdentityParam

type IdentityParam struct {
	IdentityType string `json:"identity_type"` // 身份信息参数类型,必填,必须传入CERT_INFO
	CertType     string `json:"cert_type"`     // 证件类型,必填,当前支持身份证,必须传入IDENTITY_CARD
	CertName     string `json:"cert_name"`     // 真实姓名,必填,填写需要验证的真实姓名
	CertNo       string `json:"cert_no"`       // 证件号码,必填,填写需要验证的证件号码
}

type MerchantConfig

type MerchantConfig struct {
	ReturnURL string `json:"return_url"`
}

type OpenAuthTokenApp

type OpenAuthTokenApp struct {
	GrantType    string `json:"grant_type"` // 值为 authorization_code 时,代表用code换取;值为refresh_token时,代表用refresh_token换取
	Code         string `json:"code"`
	RefreshToken string `json:"refresh_token"`
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_9/alipay.open.auth.token.app

func (OpenAuthTokenApp) APIName

func (this OpenAuthTokenApp) APIName() string

func (OpenAuthTokenApp) Params

func (this OpenAuthTokenApp) Params() map[string]string

type OpenAuthTokenAppRsp

type OpenAuthTokenAppRsp struct {
	Content struct {
		Code            string `json:"code"`
		Msg             string `json:"msg"`
		SubCode         string `json:"sub_code"`
		SubMsg          string `json:"sub_msg"`
		AppAuthToken    string `json:"app_auth_token"`
		UserId          string `json:"user_id"`
		AuthAppId       string `json:"auth_app_id"`
		ExpiresIn       int64  `json:"expires_in"`
		ReExpiresIn     int64  `json:"re_expires_in"`
		AppRefreshToken string `json:"app_refresh_token"`
	} `json:"alipay_open_auth_token_app_response"`
	Sign string `json:"sign"`
}

type Param

type Param interface {
	// 用于提供访问的 method
	APIName() string

	// 返回参数列表
	Params() map[string]string
}

type RefundDetailItem

type RefundDetailItem struct {
	FundChannel string `json:"fund_channel"` // 交易使用的资金渠道,详见 支付渠道列表
	Amount      string `json:"amount"`       // 该支付工具类型所使用的金额
	RealAmount  string `json:"real_amount"`  // 渠道实际付款金额
}

type RoyaltyDetailInfoItem

type RoyaltyDetailInfoItem struct {
	SerialNo         string `json:"serial_no"`
	TransInType      string `json:"trans_in_type"`
	BatchNo          string `json:"batch_no"`
	OutRelationId    string `json:"out_relation_id"`
	TransOutType     string `json:"trans_out_type"`
	TransOut         string `json:"trans_out"`
	TransIn          string `json:"trans_in"`
	Amount           string `json:"amount"`
	Desc             string `json:"desc"`
	AmountPercentage string `json:"amount_percentage"`
	AliPayStoreId    string `json:"alipay_store_id"`
}

type RoyaltyInfo

type RoyaltyInfo struct {
	RoyaltyType       string                   `json:"royalty_type"`
	RoyaltyDetailInfo []*RoyaltyDetailInfoItem `json:"royalty_detail_infos,omitempty"`
}

type RoyaltyParameter

type RoyaltyParameter struct {
	TransOut         string  `json:"trans_out"`                   // 可选 分账支出方账户,类型为userId,本参数为要分账的支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。
	TransIn          string  `json:"trans_in"`                    // 可选 分账收入方账户,类型为userId,本参数为要分账的支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。
	Amount           float64 `json:"amount"`                      // 可选 分账的金额,单位为元
	AmountPercentage float64 `json:"amount_percentage,omitempty"` // 可选 分账信息中分账百分比。取值范围为大于0,少于或等于100的整数。
	Desc             string  `json:"desc"`                        // 可选 分账描述
}

type SubMerchantItem

type SubMerchantItem struct {
	MerchantId string `json:"merchant_id"`
}

type SystemOauthToken

type SystemOauthToken struct {
	AppAuthToken string `json:"-"` // 可选
	GrantType    string `json:"-"` // 值为 authorization_code 时,代表用code换取;值为refresh_token时,代表用refresh_token换取
	Code         string `json:"-"`
	RefreshToken string `json:"-"`
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_9/alipay.system.oauth.token

func (SystemOauthToken) APIName

func (this SystemOauthToken) APIName() string

func (SystemOauthToken) Params

func (this SystemOauthToken) Params() map[string]string

type SystemOauthTokenRsp

type SystemOauthTokenRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		UserId       string `json:"user_id"`
		AccessToken  string `json:"access_token"`
		ExpiresIn    int64  `json:"expires_in"`
		RefreshToken string `json:"refresh_token"`
		ReExpiresIn  int64  `json:"re_expires_in"`
	} `json:"alipay_system_oauth_token_response"`
	Error *struct {
		Code    string `json:"code"`
		Msg     string `json:"msg"`
		SubCode string `json:"sub_code"`
		SubMsg  string `json:"sub_msg"`
	} `json:"error_response"` // 不要访问此结构体
	Sign string `json:"sign"`
}

type Trade

type Trade struct {
	NotifyURL string `json:"-"`
	ReturnURL string `json:"-"`

	// biz content,这四个参数是必须的
	Subject     string `json:"subject"`      // 订单标题
	OutTradeNo  string `json:"out_trade_no"` // 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
	TotalAmount string `json:"total_amount"` // 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]
	ProductCode string `json:"product_code"` // 销售产品码,与支付宝签约的产品码名称。 注:目前仅支持FAST_INSTANT_TRADE_PAY

	Body               string `json:"body,omitempty"`                 // 订单描述
	BusinessParams     string `json:"business_params,omitempty"`      // 商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式
	DisablePayChannels string `json:"disable_pay_channels,omitempty"` // 禁用渠道,用户不可用指定渠道支付 当有多个渠道时用“,”分隔 注,与enable_pay_channels互斥
	EnablePayChannels  string `json:"enable_pay_channels,omitempty"`  // 可用渠道,用户只能在指定渠道范围内支付  当有多个渠道时用“,”分隔 注,与disable_pay_channels互斥
	//ExtUserInfo        string `json:"ext_user_info,omitempty"`        // 外部指定买家
	ExtendParams     string `json:"extend_params,omitempty"`     // 业务扩展参数,详见下面的“业务扩展参数说明”
	GoodsType        string `json:"goods_type,omitempty"`        // 商品主类型:0—虚拟类商品,1—实物类商品 注:虚拟类商品不支持使用花呗渠道
	InvoiceInfo      string `json:"invoice_info,omitempty"`      // 开票信息
	PassbackParams   string `json:"passback_params,omitempty"`   // 公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝会在异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝
	PromoParams      string `json:"promo_params,omitempty"`      // 优惠参数 注:仅与支付宝协商后可用
	RoyaltyInfo      string `json:"royalty_info,omitempty"`      // 描述分账信息,json格式,详见分账参数说明
	SellerId         string `json:"seller_id,omitempty"`         // 收款支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID
	SettleInfo       string `json:"settle_info,omitempty"`       // 描述结算信息,json格式,详见结算参数说明
	SpecifiedChannel string `json:"specified_channel,omitempty"` // 指定渠道,目前仅支持传入pcredit  若由于用户原因渠道不可用,用户可选择是否用其他渠道支付。  注:该参数不可与花呗分期参数同时传入
	StoreId          string `json:"store_id,omitempty"`          // 商户门店编号。该参数用于请求参数中以区分各门店,非必传项。
	SubMerchant      string `json:"sub_merchant,omitempty"`      // 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段
	TimeoutExpress   string `json:"timeout_express,omitempty"`   // 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。
}

//////////////////////////////////////////////////////////////////////////////

type TradeAppPay

type TradeAppPay struct {
	Trade
	TimeExpire string `json:"time_expire,omitempty"` // 绝对超时时间,格式为yyyy-MM-dd HH:mm。
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.app.pay/

func (TradeAppPay) APIName

func (this TradeAppPay) APIName() string

func (TradeAppPay) Params

func (this TradeAppPay) Params() map[string]string

type TradeCancel

type TradeCancel struct {
	AppAuthToken string `json:"-"` // 可选
	NotifyURL    string `json:"-"` // 可选

	OutTradeNo string `json:"out_trade_no"` // 原支付请求的商户订单号,和支付宝交易号不能同时为空
	TradeNo    string `json:"trade_no"`     // 支付宝交易号,和商户订单号不能同时为空
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.cancel/

func (TradeCancel) APIName

func (this TradeCancel) APIName() string

func (TradeCancel) Params

func (this TradeCancel) Params() map[string]string

type TradeCancelRsp

type TradeCancelRsp struct {
	Content struct {
		Code       string `json:"code"`
		Msg        string `json:"msg"`
		SubCode    string `json:"sub_code"`
		SubMsg     string `json:"sub_msg"`
		TradeNo    string `json:"trade_no"`     // 支付宝交易号
		OutTradeNo string `json:"out_trade_no"` // 创建交易传入的商户订单号
		RetryFlag  string `json:"retry_flag"`   // 是否需要重试
		Action     string `json:"action"`       // 本次撤销触发的交易动作 close:关闭交易,无退款 refund:产生了退款
	} `json:"alipay_trade_cancel_response"`
	Sign string `json:"sign"`
}

func (*TradeCancelRsp) IsSuccess

func (this *TradeCancelRsp) IsSuccess() bool

type TradeClose

type TradeClose struct {
	AppAuthToken string `json:"-"`                      // 可选
	NotifyURL    string `json:"-"`                      // 可选
	OutTradeNo   string `json:"out_trade_no,omitempty"` // 与 TradeNo 二选一
	TradeNo      string `json:"trade_no,omitempty"`     // 与 OutTradeNo 二选一
	OperatorId   string `json:"operator_id,omitempty"`  // 可选
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.close/

func (TradeClose) APIName

func (this TradeClose) APIName() string

func (TradeClose) Params

func (this TradeClose) Params() map[string]string

type TradeCloseRsp

type TradeCloseRsp struct {
	Content struct {
		Code       string `json:"code"`
		Msg        string `json:"msg"`
		SubCode    string `json:"sub_code"`
		SubMsg     string `json:"sub_msg"`
		OutTradeNo string `json:"out_trade_no"`
		TradeNo    string `json:"trade_no"`
	} `json:"alipay_trade_close_response"`
	Sign string `json:"sign"`
}

type TradeCreate

type TradeCreate struct {
	Trade
	AppAuthToken string `json:"-"` // 可选

	DiscountableAmount string             `json:"discountable_amount"` // 可打折金额. 参与优惠计算的金额,单位为元,精确到小数点后两位
	BuyerId            string             `json:"buyer_id"`
	GoodsDetail        []*GoodsDetailItem `json:"goods_detail,omitempty"`
	OperatorId         string             `json:"operator_id"`
	TerminalId         string             `json:"terminal_id"`
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.create/

func (TradeCreate) APIName

func (this TradeCreate) APIName() string

func (TradeCreate) Params

func (this TradeCreate) Params() map[string]string

type TradeCreateRsp

type TradeCreateRsp struct {
	Content struct {
		Code       string `json:"code"`
		Msg        string `json:"msg"`
		SubCode    string `json:"sub_code"`
		SubMsg     string `json:"sub_msg"`
		TradeNo    string `json:"trade_no"` // 支付宝交易号
		OutTradeNo string `json:"out_trade_no"`
	} `json:"alipay_trade_create_response"`
	Sign string `json:"sign"`
}

type TradeFastPayRefundQuery

type TradeFastPayRefundQuery struct {
	AppAuthToken string `json:"-"`                      // 可选
	OutTradeNo   string `json:"out_trade_no,omitempty"` // 与 TradeNo 二选一
	TradeNo      string `json:"trade_no,omitempty"`     // 与 OutTradeNo 二选一
	OutRequestNo string `json:"out_request_no"`         // 必须 请求退款接口时,传入的退款请求号,如果在退款请求时未传入,则该值为创建交易时的外部交易号
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query

func (TradeFastPayRefundQuery) APIName

func (this TradeFastPayRefundQuery) APIName() string

func (TradeFastPayRefundQuery) Params

func (this TradeFastPayRefundQuery) Params() map[string]string

type TradeFastPayRefundQueryRsp

type TradeFastPayRefundQueryRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		OutRequestNo string `json:"out_request_no"` // 本笔退款对应的退款请求号
		OutTradeNo   string `json:"out_trade_no"`   // 创建交易传入的商户订单号
		RefundReason string `json:"refund_reason"`  // 发起退款时,传入的退款原因
		TotalAmount  string `json:"total_amount"`   // 发该笔退款所对应的交易的订单金额
		RefundAmount string `json:"refund_amount"`  // 本次退款请求,对应的退款金额
		TradeNo      string `json:"trade_no"`       // 支付宝交易号
	} `json:"alipay_trade_fastpay_refund_query_response"`
	Sign string `json:"sign"`
}

func (*TradeFastPayRefundQueryRsp) IsSuccess

func (this *TradeFastPayRefundQueryRsp) IsSuccess() bool

type TradeNotification

type TradeNotification struct {
	AuthAppId         string `json:"auth_app_id"`         // App Id
	NotifyTime        string `json:"notify_time"`         // 通知时间
	NotifyType        string `json:"notify_type"`         // 通知类型
	NotifyId          string `json:"notify_id"`           // 通知校验ID
	AppId             string `json:"app_id"`              // 开发者的app_id
	Charset           string `json:"charset"`             // 编码格式
	Version           string `json:"version"`             // 接口版本
	SignType          string `json:"sign_type"`           // 签名类型
	Sign              string `json:"sign"`                // 签名
	TradeNo           string `json:"trade_no"`            // 支付宝交易号
	OutTradeNo        string `json:"out_trade_no"`        // 商户订单号
	OutBizNo          string `json:"out_biz_no"`          // 商户业务号
	BuyerId           string `json:"buyer_id"`            // 买家支付宝用户号
	BuyerLogonId      string `json:"buyer_logon_id"`      // 买家支付宝账号
	SellerId          string `json:"seller_id"`           // 卖家支付宝用户号
	SellerEmail       string `json:"seller_email"`        // 卖家支付宝账号
	TradeStatus       string `json:"trade_status"`        // 交易状态
	TotalAmount       string `json:"total_amount"`        // 订单金额
	ReceiptAmount     string `json:"receipt_amount"`      // 实收金额
	InvoiceAmount     string `json:"invoice_amount"`      // 开票金额
	BuyerPayAmount    string `json:"buyer_pay_amount"`    // 付款金额
	PointAmount       string `json:"point_amount"`        // 集分宝金额
	RefundFee         string `json:"refund_fee"`          // 总退款金额
	Subject           string `json:"subject"`             // 总退款金额
	Body              string `json:"body"`                // 商品描述
	GmtCreate         string `json:"gmt_create"`          // 交易创建时间
	GmtPayment        string `json:"gmt_payment"`         // 交易付款时间
	GmtRefund         string `json:"gmt_refund"`          // 交易退款时间
	GmtClose          string `json:"gmt_close"`           // 交易结束时间
	FundBillList      string `json:"fund_bill_list"`      // 支付金额信息
	PassbackParams    string `json:"passback_params"`     // 回传参数
	VoucherDetailList string `json:"voucher_detail_list"` // 优惠券信息
}

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.8AmJwg&treeId=203&articleId=105286&docType=1

type TradeOrderInfoSync

type TradeOrderInfoSync struct {
	AppAuthToken string `json:"-"`              // 可选
	OutRequestNo string `json:"out_request_no"` // 必选 标识一笔交易多次请求,同一笔交易多次信息同步时需要保证唯一
	BizType      string `json:"biz_type"`       // 必选 交易信息同步对应的业务类型,具体值与支付宝约定;信用授权场景下传CREDIT_AUTH
	TradeNo      string `json:"trade_no"`       // 可选 支付宝交易号,和商户订单号不能同时为空
	OrderBizInfo string `json:"order_biz_info"` // 可选 商户传入同步信息,具体值要和支付宝约定;用于芝麻信用租车、单次授权等信息同步场景,格式为json格式
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.orderinfo.sync/

func (TradeOrderInfoSync) APIName

func (this TradeOrderInfoSync) APIName() string

func (TradeOrderInfoSync) Params

func (this TradeOrderInfoSync) Params() map[string]string

type TradeOrderInfoSyncRsp

type TradeOrderInfoSyncRsp struct {
	Content struct {
		Code        string `json:"code"`
		Msg         string `json:"msg"`
		SubCode     string `json:"sub_code"`
		SubMsg      string `json:"sub_msg"`
		TradeNo     string `json:"trade_no"`
		OutTradeNo  string `json:"out_trade_no"`
		BuyerUserId string `json:"buyer_user_id"`
	} `json:"alipay_trade_orderinfo_sync_response"`
	Sign string `json:"sign"`
}

type TradeOrderSettle

type TradeOrderSettle struct {
	AppAuthToken      string              `json:"-"`                  // 可选
	OutRequestNo      string              `json:"out_request_no"`     // 必须 结算请求流水号 开发者自行生成并保证唯一性
	TradeNo           string              `json:"trade_no"`           // 必须 支付宝订单号
	RoyaltyParameters []*RoyaltyParameter `json:"royalty_parameters"` // 必须 分账明细信息
	OperatorId        string              `json:"operator_id"`        //可选 操作员id
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.order.settle

func (TradeOrderSettle) APIName

func (this TradeOrderSettle) APIName() string

func (TradeOrderSettle) Params

func (this TradeOrderSettle) Params() map[string]string

type TradeOrderSettleRsp

type TradeOrderSettleRsp struct {
	Content struct {
		Code    string `json:"code"`
		Msg     string `json:"msg"`
		SubCode string `json:"sub_code"`
		SubMsg  string `json:"sub_msg"`
		TradeNo string `json:"trade_no"`
	} `json:"alipay_trade_order_settle_response"`
	Sign string `json:"sign"`
}

type TradePagePay

type TradePagePay struct {
	Trade
	AuthToken   string         `json:"auth_token,omitempty"`   // 针对用户授权接口,获取用户相关数据时,用于标识用户授权关系
	GoodsDetail []*GoodsDetail `json:"goods_detail,omitempty"` // 订单包含的商品列表信息,Json格式,详见商品明细说明
	QRPayMode   string         `json:"qr_pay_mode,omitempty"`  // PC扫码支付的方式,支持前置模式和跳转模式。
	QRCodeWidth string         `json:"qrcode_width,omitempty"` // 商户自定义二维码宽度 注:qr_pay_mode=4时该参数生效
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.app.pay

func (TradePagePay) APIName

func (this TradePagePay) APIName() string

func (TradePagePay) Params

func (this TradePagePay) Params() map[string]string

type TradePay

type TradePay struct {
	Trade
	AppAuthToken string `json:"-"` // 可选

	Scene    string `json:"scene"`               // 必须 支付场景 条码支付,取值:bar_code 声波支付,取值:wave_code, bar_code, wave_code
	AuthCode string `json:"auth_code,omitempty"` // 必须 支付授权码
	AuthNo   string `json:"auth_no,omitempty"`   // 可选 预授权冻结交易号

	BuyerId            string             `json:"buyer_id"` // 可选 家的支付宝用户id,如果为空,会从传入了码值信息中获取买家ID
	TransCurrency      string             `json:"trans_currency,omitempty"`
	SettleCurrency     string             `json:"settle_currency,omitempty"`
	DiscountableAmount string             `json:"discountable_amount,omitempty"` // 可选 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】
	GoodsDetail        []*GoodsDetailItem `json:"goods_detail,omitempty"`        // 可选 订单包含的商品列表信息,Json格式,其它说明详见商品明细说明
	OperatorId         string             `json:"operator_id,omitempty"`         // 可选 商户操作员编号
	TerminalId         string             `json:"terminal_id,omitempty"`         // 可选 商户机具终端编号
	AuthConfirmMode    string             `json:"auth_confirm_mode,omitempty"`
	TerminalParams     string             `json:"terminal_params,omitempty"`
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.pay/

func (TradePay) APIName

func (this TradePay) APIName() string

func (TradePay) Params

func (this TradePay) Params() map[string]string

type TradePayRsp

type TradePayRsp struct {
	Content struct {
		Code                string           `json:"code"`
		Msg                 string           `json:"msg"`
		SubCode             string           `json:"sub_code"`
		SubMsg              string           `json:"sub_msg"`
		BuyerLogonId        string           `json:"buyer_logon_id"`           // 买家支付宝账号
		BuyerPayAmount      string           `json:"buyer_pay_amount"`         // 买家实付金额,单位为元,两位小数。
		BuyerUserId         string           `json:"buyer_user_id"`            // 买家在支付宝的用户id
		CardBalance         string           `json:"card_balance"`             // 支付宝卡余额
		DiscountGoodsDetail string           `json:"discount_goods_detail"`    // 本次交易支付所使用的单品券优惠的商品优惠信息
		FundBillList        []*FundBill      `json:"fund_bill_list,omitempty"` // 交易支付使用的资金渠道
		GmtPayment          string           `json:"gmt_payment"`
		InvoiceAmount       string           `json:"invoice_amount"`                // 交易中用户支付的可开具发票的金额,单位为元,两位小数。
		OutTradeNo          string           `json:"out_trade_no"`                  // 创建交易传入的商户订单号
		TradeNo             string           `json:"trade_no"`                      // 支付宝交易号
		PointAmount         string           `json:"point_amount"`                  // 积分支付的金额,单位为元,两位小数。
		ReceiptAmount       string           `json:"receipt_amount"`                // 实收金额,单位为元,两位小数
		StoreName           string           `json:"store_name"`                    // 发生支付交易的商户门店名称
		TotalAmount         string           `json:"total_amount"`                  // 发该笔退款所对应的交易的订单金额
		VoucherDetailList   []*VoucherDetail `json:"voucher_detail_list,omitempty"` // 本交易支付时使用的所有优惠券信息
	} `json:"alipay_trade_pay_response"`
	Sign string `json:"sign"`
}

func (*TradePayRsp) IsSuccess

func (this *TradePayRsp) IsSuccess() bool

type TradePreCreate

type TradePreCreate struct {
	Trade
	AppAuthToken       string             `json:"-"`                      // 可选
	DiscountableAmount string             `json:"discountable_amount"`    // 可选 可打折金额. 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【不可打折金额】则该值默认为【订单总金额】-【不可打折金额】
	GoodsDetail        []*GoodsDetailItem `json:"goods_detail,omitempty"` // 可选 订单包含的商品列表信息.Json格式. 其它说明详见:“商品明细说明”
	OperatorId         string             `json:"operator_id"`            // 可选 商户操作员编号
	TerminalId         string             `json:"terminal_id"`            // 可选 商户机具终端编号
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.precreate/

func (TradePreCreate) APIName

func (this TradePreCreate) APIName() string

func (TradePreCreate) Params

func (this TradePreCreate) Params() map[string]string

type TradePreCreateRsp

type TradePreCreateRsp struct {
	Content struct {
		Code       string `json:"code"`
		Msg        string `json:"msg"`
		SubCode    string `json:"sub_code"`
		SubMsg     string `json:"sub_msg"`
		OutTradeNo string `json:"out_trade_no"` // 创建交易传入的商户订单号
		QRCode     string `json:"qr_code"`      // 当前预下单请求生成的二维码码串,可以用二维码生成工具根据该码串值生成对应的二维码
	} `json:"alipay_trade_precreate_response"`
	Sign string `json:"sign"`
}

func (*TradePreCreateRsp) IsSuccess

func (this *TradePreCreateRsp) IsSuccess() bool

type TradeQuery

type TradeQuery struct {
	AppAuthToken string `json:"-"`                      // 可选
	OutTradeNo   string `json:"out_trade_no,omitempty"` // 订单支付时传入的商户订单号, 与 TradeNo 二选一
	TradeNo      string `json:"trade_no,omitempty"`     // 支付宝交易号
}

https://docs.open.alipay.com/api_1/alipay.trade.query/

func (TradeQuery) APIName

func (this TradeQuery) APIName() string

func (TradeQuery) Params

func (this TradeQuery) Params() map[string]string

type TradeQueryRsp

type TradeQueryRsp struct {
	Content struct {
		Code    string `json:"code"`
		Msg     string `json:"msg"`
		SubCode string `json:"sub_code"`
		SubMsg  string `json:"sub_msg"`

		TradeNo             string           `json:"trade_no"`                      // 支付宝交易号
		OutTradeNo          string           `json:"out_trade_no"`                  // 商家订单号
		BuyerLogonId        string           `json:"buyer_logon_id"`                // 买家支付宝账号
		TradeStatus         string           `json:"trade_status"`                  // 交易状态
		TotalAmount         string           `json:"total_amount"`                  // 交易的订单金额
		TransCurrency       string           `json:"trans_currency"`                // 标价币种
		SettleCurrency      string           `json:"settle_currency"`               // 订单结算币种
		SettleAmount        string           `json:"settle_amount"`                 // 结算币种订单金额
		PayCurrency         string           `json:"pay_currency"`                  // 订单支付币种
		PayAmount           string           `json:"pay_amount"`                    // 支付币种订单金额
		SettleTransRate     string           `json:"settle_trans_rate"`             // 结算币种兑换标价币种汇率
		TransPayRate        string           `json:"trans_pay_rate"`                // 标价币种兑换支付币种汇率
		BuyerPayAmount      string           `json:"buyer_pay_amount"`              // 买家实付金额,单位为元,两位小数。
		PointAmount         string           `json:"point_amount"`                  // 积分支付的金额,单位为元,两位小数。
		InvoiceAmount       string           `json:"invoice_amount"`                // 交易中用户支付的可开具发票的金额,单位为元,两位小数。
		SendPayDate         string           `json:"send_pay_date"`                 // 本次交易打款给卖家的时间
		ReceiptAmount       string           `json:"receipt_amount"`                // 实收金额,单位为元,两位小数
		StoreId             string           `json:"store_id"`                      // 商户门店编号
		TerminalId          string           `json:"terminal_id"`                   // 商户机具终端编号
		FundBillList        []*FundBill      `json:"fund_bill_list,omitempty"`      // 交易支付使用的资金渠道
		StoreName           string           `json:"store_name"`                    // 请求交易支付中的商户店铺的名称
		BuyerUserId         string           `json:"buyer_user_id"`                 // 买家在支付宝的用户id
		ChargeAmount        string           `json:"charge_amount"`                 // 该笔交易针对收款方的收费金额;
		ChargeFlags         string           `json:"charge_flags"`                  // 费率活动标识,当交易享受活动优惠费率时,返回该活动的标识;
		SettlementId        string           `json:"settlement_id"`                 // 支付清算编号,用于清算对账使用;
		AuthTradePayMode    string           `json:"auth_trade_pay_mode"`           // 预授权支付模式,该参数仅在信用预授权支付场景下返回。信用预授权支付:CREDIT_PREAUTH_PAY
		BuyerUserType       string           `json:"buyer_user_type"`               // 买家用户类型。CORPORATE:企业用户;PRIVATE:个人用户。
		MdiscountAmount     string           `json:"mdiscount_amount"`              // 商家优惠金额
		DiscountAmount      string           `json:"discount_amount"`               // 平台优惠金额
		BuyerUserName       string           `json:"buyer_user_name"`               // 买家名称;
		Subject             string           `json:"subject"`                       // 订单标题;
		Body                string           `json:"body"`                          // 订单描述;
		AlipaySubMerchantId string           `json:"alipay_sub_merchant_id"`        // 间连商户在支付宝端的商户编号;
		ExtInfos            string           `json:"ext_infos"`                     // 交易额外信息,特殊场景下与支付宝约定返回。
		DiscountGoodsDetail string           `json:"discount_goods_detail"`         // 本次交易支付所使用的单品券优惠的商品优惠信息
		IndustrySepcDetail  string           `json:"industry_sepc_detail"`          // 行业特殊信息(例如在医保卡支付业务中,向用户返回医疗信息)。
		VoucherDetailList   []*VoucherDetail `json:"voucher_detail_list,omitempty"` // 本交易支付时使用的所有优惠券信息
	} `json:"alipay_trade_query_response"`
	Sign string `json:"sign"`
}

func (*TradeQueryRsp) IsSuccess

func (this *TradeQueryRsp) IsSuccess() bool

type TradeRefund

type TradeRefund struct {
	AppAuthToken string `json:"-"`                      // 可选
	OutTradeNo   string `json:"out_trade_no,omitempty"` // 与 TradeNo 二选一
	TradeNo      string `json:"trade_no,omitempty"`     // 与 OutTradeNo 二选一
	RefundAmount string `json:"refund_amount"`          // 必须 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
	RefundReason string `json:"refund_reason"`          // 可选 退款的原因说明
	OutRequestNo string `json:"out_request_no"`         // 可选 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。
	OperatorId   string `json:"operator_id"`            // 可选 商户的操作员编号
	StoreId      string `json:"store_id"`               // 可选 商户的门店编号
	TerminalId   string `json:"terminal_id"`            // 可选 商户的终端编号
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.refund/

func (TradeRefund) APIName

func (this TradeRefund) APIName() string

func (TradeRefund) Params

func (this TradeRefund) Params() map[string]string

type TradeRefundRsp

type TradeRefundRsp struct {
	Content struct {
		Code                 string              `json:"code"`
		Msg                  string              `json:"msg"`
		SubCode              string              `json:"sub_code"`
		SubMsg               string              `json:"sub_msg"`
		TradeNo              string              `json:"trade_no"`                          // 支付宝交易号
		OutTradeNo           string              `json:"out_trade_no"`                      // 商户订单号
		BuyerLogonId         string              `json:"buyer_logon_id"`                    // 用户的登录id
		BuyerUserId          string              `json:"buyer_user_id"`                     // 买家在支付宝的用户id
		FundChange           string              `json:"fund_change"`                       // 本次退款是否发生了资金变化
		RefundFee            string              `json:"refund_fee"`                        // 退款总金额
		GmtRefundPay         string              `json:"gmt_refund_pay"`                    // 退款支付时间
		StoreName            string              `json:"store_name"`                        // 交易在支付时候的门店名称
		RefundDetailItemList []*RefundDetailItem `json:"refund_detail_item_list,omitempty"` // 退款使用的资金渠道
	} `json:"alipay_trade_refund_response"`
	Sign string `json:"sign"`
}

func (*TradeRefundRsp) IsSuccess

func (this *TradeRefundRsp) IsSuccess() bool

type TradeWapPay

type TradeWapPay struct {
	Trade
	QuitURL    string `json:"quit_url,omitempty"`
	AuthToken  string `json:"auth_token,omitempty"`  // 针对用户授权接口,获取用户相关数据时,用于标识用户授权关系
	TimeExpire string `json:"time_expire,omitempty"` // 绝对超时时间,格式为yyyy-MM-dd HH:mm。
}

//////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_1/alipay.trade.wap.pay/

func (TradeWapPay) APIName

func (this TradeWapPay) APIName() string

func (TradeWapPay) Params

func (this TradeWapPay) Params() map[string]string

type UserCertifyOpenCertify

type UserCertifyOpenCertify struct {
	AppAuthToken string `json:"-"`          // 可选
	CertifyId    string `json:"certify_id"` // 必选 本次申请操作的唯一标识,由开放认证初始化接口调用后生成,后续的操作都需要用到
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_2/alipay.user.certify.open.certify

func (UserCertifyOpenCertify) APIName

func (this UserCertifyOpenCertify) APIName() string

func (UserCertifyOpenCertify) Params

func (this UserCertifyOpenCertify) Params() map[string]string

type UserCertifyOpenCertifyRsp

type UserCertifyOpenCertifyRsp struct {
	Content struct {
		Code    string `json:"code"`
		Msg     string `json:"msg"`
		SubCode string `json:"sub_code"`
		SubMsg  string `json:"sub_msg"`
	} `json:"alipay_user_certify_open_certify_response"`
	Sign string `json:"sign"`
}

type UserCertifyOpenInitialize

type UserCertifyOpenInitialize struct {
	AppAuthToken        string         `json:"-"`                               // 可选
	OuterOrderNo        string         `json:"outer_order_no"`                  // 必选  商户请求的唯一标识,商户要保证其唯一性,值为32位长度的字母数字组合。建议:前面几位字符是商户自定义的简称,中间可以使用一段时间,后段可以使用一个随机或递增序列
	BizCode             CertifyBizCode `json:"biz_code"`                        // 必选 认证场景码。入参支持的认证场景码和商户签约的认证场景相关,取值如下: FACE:多因子人脸认证 CERT_PHOTO:多因子证照认证 CERT_PHOTO_FACE :多因子证照和人脸认证 SMART_FACE:多因子快捷认证
	IdentityParam       IdentityParam  `json:"identity_param"`                  // 必选
	MerchantConfig      MerchantConfig `json:"merchant_config"`                 // 必选 商户个性化配置,格式为json,详细支持的字段说明为: return_url:需要回跳的目标地址,必填,一般指定为商户业务页面
	FaceContrastPicture string         `json:"face_contrast_picture,omitempty"` // 可选 自定义人脸比对图片的base64编码格式的string字符串
}

https://docs.open.alipay.com/api_2/alipay.user.certify.open.initialize

func (UserCertifyOpenInitialize) APIName

func (this UserCertifyOpenInitialize) APIName() string

func (UserCertifyOpenInitialize) Params

func (this UserCertifyOpenInitialize) Params() map[string]string

type UserCertifyOpenInitializeRsp

type UserCertifyOpenInitializeRsp struct {
	Content struct {
		Code      string `json:"code"`
		Msg       string `json:"msg"`
		SubCode   string `json:"sub_code"`
		SubMsg    string `json:"sub_msg"`
		CertifyId string `json:"certify_id"`
	} `json:"alipay_user_certify_open_initialize_response"`
	Sign string `json:"sign"`
}

type UserCertifyOpenQuery

type UserCertifyOpenQuery struct {
	AppAuthToken string `json:"-"`          // 可选
	CertifyId    string `json:"certify_id"` // 必选 本次申请操作的唯一标识,由开放认证初始化接口调用后生成,后续的操作都需要用到
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_2/alipay.user.certify.open.query/

func (UserCertifyOpenQuery) APIName

func (this UserCertifyOpenQuery) APIName() string

func (UserCertifyOpenQuery) Params

func (this UserCertifyOpenQuery) Params() map[string]string

type UserCertifyOpenQueryRsp

type UserCertifyOpenQueryRsp struct {
	Content struct {
		Code         string `json:"code"`
		Msg          string `json:"msg"`
		SubCode      string `json:"sub_code"`
		SubMsg       string `json:"sub_msg"`
		Passed       string `json:"passed"`
		IdentityInfo string `json:"identity_info"`
		MaterialInfo string `json:"material_info"`
	} `json:"alipay_user_certify_open_query_response"`
	Sign string `json:"sign"`
}

type UserInfoShare

type UserInfoShare struct {
	AppAuthToken string `json:"-"` // 可选
	AuthToken    string `json:"-"` // 是
}

////////////////////////////////////////////////////////////////////////////// https://docs.open.alipay.com/api_2/alipay.user.info.share

func (UserInfoShare) APIName

func (this UserInfoShare) APIName() string

func (UserInfoShare) Params

func (this UserInfoShare) Params() map[string]string

type UserInfoShareRsp

type UserInfoShareRsp struct {
	Content struct {
		Code               string `json:"code"`
		Msg                string `json:"msg"`
		SubCode            string `json:"sub_code"`
		SubMsg             string `json:"sub_msg"`
		AuthNo             string `json:"auth_no"`
		UserId             string `json:"user_id"`
		Avatar             string `json:"avatar"`
		Province           string `json:"province"`
		City               string `json:"city"`
		NickName           string `json:"nick_name"`
		IsStudentCertified string `json:"is_student_certified"`
		UserType           string `json:"user_type"`
		UserStatus         string `json:"user_status"`
		IsCertified        string `json:"is_certified"`
		Gender             string `json:"gender"`
	} `json:"alipay_user_info_share_response"`
	Sign string `json:"sign"`
}

type VoucherDetail

type VoucherDetail struct {
	Id                 string `json:"id"`                  // 券id
	Name               string `json:"name"`                // 券名称
	Type               string `json:"type"`                // 当前有三种类型: ALIPAY_FIX_VOUCHER - 全场代金券, ALIPAY_DISCOUNT_VOUCHER - 折扣券, ALIPAY_ITEM_VOUCHER - 单品优惠
	Amount             string `json:"amount"`              // 优惠券面额,它应该会等于商家出资加上其他出资方出资
	MerchantContribute string `json:"merchant_contribute"` // 商家出资(特指发起交易的商家出资金额)
	OtherContribute    string `json:"other_contribute"`    // 其他出资方出资金额,可能是支付宝,可能是品牌商,或者其他方,也可能是他们的一起出资
	Memo               string `json:"memo"`                // 优惠券备注信息
}