Documentation ¶
Index ¶
- Constants
- func HttpDoRequest(method, url string, data []byte) ([]byte, error)
- func LoadPrivateKeyWithPath(environment string, path string) (privateKey *rsa.PrivateKey, err error)
- func LoadPublicKeyWithPath(path string) (privateKey *rsa.PublicKey, err error)
- func ParseCertificate(b []byte) (*x509.Certificate, error)
- func ParsePrivateKey(environment string, privateKeyBytes []byte) (*rsa.PrivateKey, error)
- func ParsePublicKey(data []byte) (key *rsa.PublicKey, err error)
- func RSAVerifyWithKey(content []byte, sign []byte, publicKey *rsa.PublicKey, hash crypto.Hash) error
- func Rsa2PrivateSign(signContent string, privateKey *rsa.PrivateKey, hash crypto.Hash) string
- type AliClient
- func (client *AliClient) AliPayOpenAuthTokenApp(openAuthTokenAppRequest OpenAuthTokenAppRequest) (OpenAuthTokenAppResponse, error)
- func (client *AliClient) AliPayTradPay(appAuthToken string, notifyUrl string, tradePayRequest TradePayRequest) (TradePayResponse, error)
- func (client *AliClient) AliPayTradeCancel(appAuthToken string, tradeCancelRequest TradeCancelRequest) (TradeCancelResponse, error)
- func (client *AliClient) AliPayTradeFastPayRefundQuery(appAuthToken string, ...) (TradeFastPayRefundQueryResponse, error)
- func (client *AliClient) AliPayTradeQuery(appAuthToken string, tradeQueryRequest TradeQueryRequest) (TradeQueryResponse, error)
- func (client *AliClient) AliPayTradeRefund(appAuthToken string, notifyUrl string, tradeRefundRequest TradeRefundRequest) (TradeRefundResponse, error)
- func (client *AliClient) AsyncRequestGetParamAndCheckSign(reqBuff []byte) (map[string]string, error)
- func (client *AliClient) DoRequest(appId, appAuthToken, notifyUrl string, apiReq IRequester) (IResponse, error)
- func (client *AliClient) SyncVerifySign(sign, buff string) error
- type BusinessParams
- type CommonRequestParam
- type CommonResponseParam
- type DepositBackInfo
- type ErrorParam
- type ExtendParams
- type GoodsDetails
- type IRequester
- type IRespVerify
- type IResponse
- type OpenApiRoyaltyDetailInfoPojo
- type OpenAuthTokenAppRequest
- type OpenAuthTokenAppResponse
- type PromoParam
- type RBuffer
- type RefundChargeInfo
- type RefundGoodsDetail
- type RefundRoyaltyResult
- type RefundSubFee
- type TradeCancelRequest
- type TradeCancelResponse
- type TradeFastPayRefundQueryRequest
- type TradeFastPayRefundQueryResponse
- type TradeFundBill
- type TradePayRequest
- type TradePayResponse
- type TradeQueryRequest
- type TradeQueryResponse
- type TradeRefundDepositBackCompletedRequest
- type TradeRefundRequest
- type TradeRefundResponse
- type VoucherDetail
Constants ¶
const ( TRADE_REFUND_RESPONSE_FAIL string = "fail" TRADE_REFUND_RESPONSE_SUCCESS string = "success" )
需要响应给支付宝服务器的内容 响应
const ( RESPONSE_SUCCESS string = "10000" RESPONSE_NEED_QUERY string = "10003" // 该笔交易需要输入密码或验证时返回10003 )
错误码
const ( // 请求环境 CLIENT_ENVIRONMENT_SB string = "sandbox" CLIENT_ENVIRONMENT_PROD string = "production" // 网关地址 GATEWAY_URL_SB string = "https://openapi-sandbox.dl.alipaydev.com/gateway.do" GATEWAY_URL_PROD string = "https://openapi.alipay.com/gateway.do" )
const ( PAY_SCENE_BAR_CODE string = "bar_code" //当面付条码支付场景(默认) PAY_SCENE_SECURITY_CODE string = "security_code" //当面付刷脸支付场景,对应的auth_code为fp开头的刷脸标识串 )
当面付支付场景
const ( QUERY_OPTIONS_TRADE_SETTLE_INFO string = "trade_settle_info" QUERY_OPTIONS_FUND_BILL_LIST string = "fund_bill_list" QUERY_OPTIONS_VOUCHER_DETAIL_LIST string = "voucher_detail_list" QUERY_OPTIONS_DISCOUNT_GOODS_DETAIL string = "discount_goods_detail" QUERY_OPTIONS_MDISCOUNT_AMOUNT string = "mdiscount_amount" QUERY_OPTIONS_MEDICAL_INSURANCE_INFO string = "medical_insurance_info" )
当面付查询参数
const ( AUTH_TOKEN_APP_SUTHORIZATION_CODE string = "authorization_code" //使用应用授权码换取应用授权令牌app_auth_token。 AUTH_TOKEN_APP_RFRESH_TOKEN string = "refresh_token" //使用app_refresh_token刷新获取新授权令牌。 )
换取应用令牌的两种方式
const ( TRADE_STATUS_WAIT_BUYER_PAY string = "WAIT_BUYER_PAY" //交易创建,等待买家付款 TRADE_STATUS_TRADE_CLOSED string = "TRADE_CLOSED" //未付款交易超时关闭,或支付完成后全额退款 TRADE_STATUS_TRADE_SUCCESS string = "TRADE_SUCCESS" //交易支付成功 TRADE_STATUS_TRADE_FINISHED string = "TRADE_FINISHED" //交易结束,不可退款 )
查询交易订单的状态
const ( TRADE_CANCEL_ACTION_CLOSE string = "close" TRADE_CANCEL_ACTION_REFUND string = "refund" )
撤销订单返回状态
const (
TRADE_REFUND_QUERY_STATUS_SUCCESS = "REFUND_SUCCESS"
)
退款查询返回状态
Variables ¶
This section is empty.
Functions ¶
func LoadPrivateKeyWithPath ¶
func LoadPrivateKeyWithPath(environment string, path string) (privateKey *rsa.PrivateKey, err error)
LoadPrivateKeyWithPath 通过私钥的文件路径内容加载私钥
func LoadPublicKeyWithPath ¶
LoadPublicKeyWithPath 通过公钥的文件路径内容加载公钥
func ParseCertificate ¶
func ParseCertificate(b []byte) (*x509.Certificate, error)
ParseCertificate 解析证书
func ParsePrivateKey ¶
func ParsePrivateKey(environment string, privateKeyBytes []byte) (*rsa.PrivateKey, error)
ParsePrivateKey 解析私钥
func ParsePublicKey ¶
ParsePublicKey 解析公钥
func RSAVerifyWithKey ¶
func RSAVerifyWithKey(content []byte, sign []byte, publicKey *rsa.PublicKey, hash crypto.Hash) error
RSAVerifyWithKey 验证签名
func Rsa2PrivateSign ¶
Rsa2PrivateSign RSA2私钥签名
Types ¶
type AliClient ¶
type AliClient struct {
// contains filtered or unexported fields
}
func NewAliClient ¶
func (*AliClient) AliPayOpenAuthTokenApp ¶
func (client *AliClient) AliPayOpenAuthTokenApp(openAuthTokenAppRequest OpenAuthTokenAppRequest) (OpenAuthTokenAppResponse, error)
AliPayOpenAuthTokenApp 换取应用授权令牌
func (*AliClient) AliPayTradPay ¶
func (client *AliClient) AliPayTradPay(appAuthToken string, notifyUrl string, tradePayRequest TradePayRequest) (TradePayResponse, error)
AliPayTradPay 统一收单交易支付接口(alipay.trade.pay): 收银员使用扫码枪读取用户手机支付宝支付码
func (*AliClient) AliPayTradeCancel ¶
func (client *AliClient) AliPayTradeCancel(appAuthToken string, tradeCancelRequest TradeCancelRequest) (TradeCancelResponse, error)
AliPayTradeCancel 统一收单交易撤销接口(alipay.trade.cancel)
func (*AliClient) AliPayTradeFastPayRefundQuery ¶
func (client *AliClient) AliPayTradeFastPayRefundQuery(appAuthToken string, tradeFastPayRefundQueryRequest TradeFastPayRefundQueryRequest) (TradeFastPayRefundQueryResponse, error)
AliPayTradeFastPayRefundQuery 统一收单交易退款查询(alipay.trade.fastpay.refund.query)
func (*AliClient) AliPayTradeQuery ¶
func (client *AliClient) AliPayTradeQuery(appAuthToken string, tradeQueryRequest TradeQueryRequest) (TradeQueryResponse, error)
AliPayTradeQuery 统一收单交易查询(alipay.trade.query)
func (*AliClient) AliPayTradeRefund ¶
func (client *AliClient) AliPayTradeRefund(appAuthToken string, notifyUrl string, tradeRefundRequest TradeRefundRequest) (TradeRefundResponse, error)
AliPayTradeRefund 统一收单交易退款接口(alipay.trade.refund) 只有在支付时填写回调地址,才会收到退款通知
func (*AliClient) AsyncRequestGetParamAndCheckSign ¶ added in v0.0.5
func (client *AliClient) AsyncRequestGetParamAndCheckSign(reqBuff []byte) (map[string]string, error)
AsyncRequestCheckSign 异步通知请求验签
func (*AliClient) DoRequest ¶
func (client *AliClient) DoRequest(appId, appAuthToken, notifyUrl string, apiReq IRequester) (IResponse, error)
发起请求
func (*AliClient) SyncVerifySign ¶
SyncVerifySign 同步响应签名校验: scene验签场景 sign待验证的签名 buff待验证的内容 sertSn支付宝公钥证书序列号(公钥证书模式下,同步响应时使用)
type BusinessParams ¶
type BusinessParams struct {
McCreateTradeIp string `json:"mc_create_trade_ip,omitempty"` //可选 128 商户端创建订单的 IP,须上传正确的用户端外网 IP,支持 ipv4/ipv6 格式;mc_create_trade_ip和mcCreateTradeIp(旧)参数描述相同,首选mc_create_trade_ip入参,请勿重复入参; 如已入参mcCreateTradeIp(旧),无需新增入参mc_create_trade_ip。 127.0.0.1
}
商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景
type CommonRequestParam ¶
type CommonRequestParam struct { AppId string `json:"app_id" url:"app_id"` // 必选 最大长度32 支付宝分配给开发者的应用ID 2014072300007148 Method string `json:"method" url:"method"` // 必选 128 接口名称 alipay.trade.page.pay Format string `json:"format,omitempty" url:"format"` // 可选 40 仅支持JSON JSON Charset string `json:"charset" url:"charset"` // 必选 10 请求使用的编码格式,如utf-8,gbk,gb2312等 SignType string `json:"sign_type" url:"sign_type"` // 必选 10 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 Sign string `json:"sign,omitempty" url:"sign"` // 必选 344 商户请求参数的签名串 Timestamp string `json:"timestamp" url:"timestamp"` // 必选 19 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 2014-07-24 03:07:50 Version string `json:"version" url:"version"` // 必选 3 调用的接口版本,固定为:1.0 NotifyUrl string `json:"notify_url,omitempty" url:"notify_url,omitempty"` // 可选 256 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 AppAuthToken string `json:"app_auth_token,omitempty" url:"app_auth_token,omitempty"` // 可选 40 详见应用授权概述 BizContent string `json:"biz_content" url:"biz_content"` // 必选 无长度限制 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 }
公共请求参数
func (*CommonRequestParam) GenRequestParamStr ¶
func (crp *CommonRequestParam) GenRequestParamStr() (string, error)
生成请求参数字符串: 该方法的执行必须在SetRequestSign方法后
func (*CommonRequestParam) SetRequestBizContent ¶
func (crp *CommonRequestParam) SetRequestBizContent(req IRequester) (string, error)
设置BigContent参数
func (*CommonRequestParam) SetRequestSign ¶
func (crp *CommonRequestParam) SetRequestSign(privateKey *rsa.PrivateKey) (string, error)
设置Sign
type CommonResponseParam ¶
type CommonResponseParam struct { Code string `json:"code"` //必选 网关返回码,详见文档 40004 Msg string `json:"msg"` //必选 网关返回码描述,详见文档 Business Failed SubCode string `json:"sub_code"` //可选 业务返回码,参见具体的API接口文档 ACQ.TRADE_HAS_SUCCESS SubMsg string `json:"sub_msg"` //可选 业务返回码描述,参见具体的API接口文档 交易已被支付 Sign string `json:"sign"` //必选 签名,详见文档 DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= }
公共响应参数
type DepositBackInfo ¶
type DepositBackInfo struct { HasDepositBack string `json:"has_deposit_back,omitempty"` //可选 10 是否存在银行卡冲退信息。 true DbackStatus string `json:"dback_status,omitempty"` //可选 8 银行卡冲退状态。S-成功,F-失败,P-处理中。银行卡冲退失败,资金自动转入用户支付宝余额。 S DbackAmount string `json:"dback_amount,omitempty"` //可选 9 银行卡冲退金额。单位:元。 1.01 BankAckTime string `json:"bank_ack_time,omitempty"` //可选 32 银行响应时间,格式为yyyy-MM-dd HH:mm:ss 2020-06-02 14:03:48 EstBankReceiptTime string `json:"est_bank_receipt_time,omitempty"` //可选 32 预估银行到账时间,格式为yyyy-MM-dd HH:mm:ss 2020-06-02 14:03:48 }
type ErrorParam ¶
type ErrorParam struct { Msg string `json:"msg"` Code string `json:"code"` SubCode string `json:"sub_code,omitempty"` SubMsg string `json:"sub_msg,omitempty"` }
* 错误处理
func (ErrorParam) GetBadResponseDesc ¶
func (e ErrorParam) GetBadResponseDesc() string
func (ErrorParam) IsBadResponse ¶ added in v0.0.4
func (e ErrorParam) IsBadResponse() error
IsBadResponse 响应code校验
type ExtendParams ¶
type ExtendParams struct { SysServiceProviderId string `json:"sys_service_provider_id,omitempty"` //可选 64 系统商编号 该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID 2088511833207846 SpecifiedSellerName string `json:"specified_seller_name,omitempty"` //可选 32 特殊场景下,允许商户指定交易展示的卖家名称 XXX的跨境小铺 CardType string `json:"card_type,omitempty"` //可选 32 卡类型 S0JP0000 }
业务扩展参数
type GoodsDetails ¶
type GoodsDetails struct { GoodsId string `json:"goods_id,omitempty"` //必选 64 商品的编号 apple-01 GoodsName string `json:"goods_name,omitempty"` //必选 256 商品名称 ipad Quantity float64 `json:"quantity,omitempty"` //必选 32 商品数量 1 Price float64 `json:"price,omitempty"` //必选 9 商品单价,单位为元 2000 GoodsCategory string `json:"goods_category,omitempty"` //可选 24 商品类目 34543238 CategoriesTree string `json:"categories_tree,omitempty"` //可选 128 商品类目树,从商品类目根节点到叶子节点的类目id组成,类目id值使用|分割 124868003|126232002|126252004 ShowUrl string `json:"show_url,omitempty"` //可选 400 商品的展示地址 http://www.alipay.com/xxx.jpg }
订单包含的商品列表信息,json格式。
type IRequester ¶
type OpenApiRoyaltyDetailInfoPojo ¶
type OpenApiRoyaltyDetailInfoPojo struct { RoyaltyType string `json:"royalty_type,omitempty"` //可选 32 分账类型. 普通分账为:transfer; 补差为:replenish; 为空默认为分账transfer; transfer TransOut string `json:"trans_out,omitempty"` //可选 16 支出方账户。如果支出方账户类型为userId,本参数为支出方的支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字;如果支出方类型为loginName,本参数为支出方的支付宝登录号。 泛金融类商户分账时,该字段不要上送。 2088101126765726 TransOutType string `json:"trans_out_type,omitempty"` //可选 64 支出方账户类型。userId表示是支付宝账号对应的支付宝唯一用户号;loginName表示是支付宝登录号; 泛金融类商户分账时,该字段不要上送。 userId TransInType string `json:"trans_in_type,omitempty"` //可选 64 收入方账户类型。userId表示是支付宝账号对应的支付宝唯一用户号;cardAliasNo表示是卡编号;loginName表示是支付宝登录号; userId TransIn string `json:"trans_in,omitempty"` //必选 16 收入方账户。如果收入方账户类型为userId,本参数为收入方的支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字;如果收入方类型为cardAliasNo,本参数为收入方在支付宝绑定的卡编号;如果收入方类型为loginName,本参数为收入方的支付宝登录号; 2088101126708402 Amount float64 `json:"amount,omitempty"` //可选 9 分账的金额,单位为元 0.1 Desc string `json:"desc,omitempty"` //可选 1000 分账描述 分账给2088101126708402 RoyaltyScene string `json:"royalty_scene,omitempty"` //可选 256 可选值:达人佣金、平台服务费、技术服务费、其他 达人佣金 TransInName string `json:"trans_in_name,omitempty"` //可选 64 分账收款方姓名,上送则进行姓名与支付宝账号的一致性校验,校验不一致则分账失败。不上送则不进行姓名校验 张三 }
退分账明细信息
type OpenAuthTokenAppRequest ¶
type OpenAuthTokenAppRequest struct { GrantType string `json:"grant_type"` //必选 20 授权方式。支持: authorization_code:使用应用授权码换取应用授权令牌app_auth_token。 refresh_token:使用app_refresh_token刷新获取新授权令牌。 authorization_code或者refresh_token Code string `json:"code,omitempty"` //可选 40 应用授权码,传入应用授权后得到的 app_auth_code。 说明: grant_type 为 authorization_code 时,本参数必填; grant_type 为 refresh_token 时不填。 1cc19911172e4f8aaa509c8fb5d12F56 RefreshToken string `json:"refresh_token,omitempty"` //可选 40 刷新令牌,上次换取访问令牌时得到。本参数在 grant_type 为 authorization_code 时不填;为 refresh_token 时必填,且该值来源于此接口的返回值 app_refresh_token(即至少需要通过 grant_type=authorization_code 调用此接口一次才能获取)。 201509BBdcba1e3347de4e75ba3fed2c9abebE36 }
换取应用授权令牌 请求 code的值在商家授权后支付宝回调参数中获取,回调示例:http://example.com/doc/toAuthPage.html?app_id=2021000000000318&source=alipay_app_auth&application_type=TINYAPP,WEBAPP&app_auth_code=P1798b23682e34d96859afa000000003 用户需要先从回调参数中获取到 app_auth_code 后再调取本接口换取 app_auth_token
func (*OpenAuthTokenAppRequest) ApiParamMethod ¶
func (o *OpenAuthTokenAppRequest) ApiParamMethod() string
func (*OpenAuthTokenAppRequest) DoValidate ¶
func (o *OpenAuthTokenAppRequest) DoValidate() error
func (*OpenAuthTokenAppRequest) GenResponse ¶
func (o *OpenAuthTokenAppRequest) GenResponse(data []byte) (IResponse, error)
从响应数据中生成结构体
func (*OpenAuthTokenAppRequest) HttpMethod ¶
func (o *OpenAuthTokenAppRequest) HttpMethod() string
type OpenAuthTokenAppResponse ¶
type OpenAuthTokenAppResponse struct { ErrorParam UserId string `json:"user_id"` //必选 16 授权商户的user_id 2088102150527498 AuthAppId string `json:"auth_app_id"` //必选 20 授权商户的appid 2013121100055554 AppAuthToken string `json:"app_auth_token"` //必选 40 应用授权令牌 201509BBeff9351ad1874306903e96b91d248A36 AppRefreshToken string `json:"app_refresh_token"` //必选 40 刷新令牌 201509BBdcba1e3347de4e75ba3fed2c9abebE36 ReExpiresIn string `json:"re_expires_in"` //必选 16 刷新令牌的有效时间(从接口调用时间作为起始时间),单位到秒 123456 }
换取应用授权令牌 响应
func (OpenAuthTokenAppResponse) ApiParamMethod ¶
func (t OpenAuthTokenAppResponse) ApiParamMethod() string
type PromoParam ¶
type PromoParam struct { ActualOrderTime string `json:"actual_order_time,omitempty"` //可选 32 存在延迟扣款这一类的场景,用这个时间表明用户发生交易的时间,比如说,在公交地铁场景,用户刷码出站的时间,和商户上送交易的时间是不一样的。 2018-09-25 22:47:33 StoreId string `json:"store_id,omitempty"` //可选 32 商户门店编号。指商户创建门店时输入的门店编号。 NJ_001 OperatorId string `json:"operator_id,omitempty"` //可选 28 商户操作员编号。 yx_001 TerminalId string `json:"terminal_id,omitempty"` //可选 32 商户机具终端编号。NJ_T_001 QueryOptions []string `json:"query_options,omitempty"` //可选 1024 返回参数选项。 商户通过传递该参数来定制同步需要额外返回的信息字段,数组格式。如:["fund_bill_list","voucher_detail_list","discount_goods_detail"] 示例:["fund_bill_list","voucher_detail_list","discount_goods_detail"] }
优惠明细参数,通过此属性补充营销参数。 注:仅与支付宝协商后可用。
type RBuffer ¶
type RBuffer []byte
func (RBuffer) GetAsyncRequestSignStr ¶
GetAsyncRequestSignStr 获取异步通知的待验证参数字符串 和 签名
func (RBuffer) GetSyncRespSign ¶
GetSyncRespSign 获取响应中的sign
func (RBuffer) GetSyncRespSignData ¶
GetSyncRespSignData 同步响应待验证字串
type RefundChargeInfo ¶
type RefundChargeInfo struct { RefundChargeFee string `json:"refund_charge_fee,omitempty"` //可选 11 实退费用。单位:元。 0.01 SwitchFeeRate string `json:"switch_fee_rate,omitempty"` //可选 64 签约费率 0.01 ChargeType string `json:"charge_type,omitempty"` //可选 64 收单手续费trade,花呗分期手续hbfq,其他手续费charge trade RefundSubFeeDetailList []RefundSubFee `json:"refund_sub_fee_detail_list,omitempty"` //可选 组合支付退费明细 }
退费信息
type RefundGoodsDetail ¶
type RefundGoodsDetail struct { GoodsId string `json:"goods_id,omitempty"` //必选 32 商品编号。 对应支付时传入的goods_id apple-01 RefundAmount float64 `json:"refund_amount,omitempty"` //必选 9 该商品的退款总金额,单位为元 19.50 OutItemId string `json:"out_item_id,omitempty"` //可选 64 商家侧小程序商品ID,具体使用方式请参考:https://opendocs.alipay.com/pre-open/06uila?pathHash=87297d0a outItem_01 OutSkuId string `json:"out_sku_id,omitempty"` //可选 64 商家侧小程序商品sku ID,具体使用方式请参考:https://opendocs.alipay.com/pre-open/06uila?pathHash=87297d0a outSku_01 }
退款包含的商品列表信息
type RefundRoyaltyResult ¶
type RefundRoyaltyResult struct { RefundAmount string `json:"refund_amount,omitempty"` //必选 9 退分账金额。单位:元。 10 RoyaltyType string `json:"royalty_type,omitempty"` //可选 32 分账类型. 字段为空默认为普通分账类型transfer 枚举值 普通分账类型: transfer 补差分账类型: replenish transfer ResultCode string `json:"result_code,omitempty"` //必选 32 退分账结果码 SUCCESS TransOut string `json:"trans_out,omitempty"` //可选 28 转出人支付宝账号对应用户ID 2088102210397302 TransOutEmail string `json:"trans_out_email,omitempty"` //可选 64 转出人支付宝账号 alipay-test03@alipay.com TransIn string `json:"trans_in,omitempty"` //可选 28 转入人支付宝账号对应用户ID 2088102210397302 TransInEmail string `json:"trans_in_email,omitempty"` //可选 64 转入人支付宝账号 zen_gwen@hotmail.com }
退分账明细信息,当前仅在直付通产品中返回。
type RefundSubFee ¶
type RefundSubFee struct { RefundChargeFee string `json:"refund_charge_fee,omitempty"` //可选 11 实退费用。单位:元。 0.10 SwitchFeeRate string `json:"switch_fee_rate,omitempty"` //可选 64 签约费率 0.01 }
组合支付退费明细
type TradeCancelRequest ¶
type TradeCancelRequest struct { OutTradeNo string `json:"out_trade_no,omitempty"` //特殊可选 64 原支付请求的商户订单号,和支付宝交易号不能同时为空 20150320010101001 TradeNo string `json:"trade_no,omitempty"` //特殊可选 64 支付宝交易号,和商户订单号不能同时为空 2014112611001004680073956707 }
统一收单交易撤销接口 请求 参数
func (*TradeCancelRequest) ApiParamMethod ¶
func (t *TradeCancelRequest) ApiParamMethod() string
func (*TradeCancelRequest) DoValidate ¶
func (t *TradeCancelRequest) DoValidate() error
func (*TradeCancelRequest) GenResponse ¶
func (t *TradeCancelRequest) GenResponse(data []byte) (IResponse, error)
从响应数据中生成结构体
func (*TradeCancelRequest) HttpMethod ¶
func (t *TradeCancelRequest) HttpMethod() string
type TradeCancelResponse ¶
type TradeCancelResponse struct { ErrorParam TradeNo string `json:"trade_no"` //必选 64 支付宝交易号; 当发生交易关闭或交易退款时返回; 2013112011001004330000121536 OutTradeNo string `json:"out_trade_no"` //必选 64 商户订单号 6823789339978248 RetryFlag string `json:"retry_flag"` //必选 1 是否需要重试 N Action string `json:"action"` //必选 10 本次撤销触发的交易动作,接口调用成功且交易存在时返回。 }
统一收单交易撤销接口 响应 参数
func (TradeCancelResponse) ApiParamMethod ¶
func (t TradeCancelResponse) ApiParamMethod() string
type TradeFastPayRefundQueryRequest ¶
type TradeFastPayRefundQueryRequest struct { TradeNo string `json:"trade_no,omitempty"` //特殊可选 64 支付宝交易号。 和商户订单号不能同时为空 2021081722001419121412730660 OutTradeNo string `json:"out_trade_no,omitempty"` //特殊可选 64 商户订单号。 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no 2014112611001004680073956707 OutRequestNo string `json:"out_request_no,omitempty"` //必选 64 退款请求号。 请求退款接口时,传入的退款请求号,如果在退款请求时未传入,则该值为创建交易时的商户订单号。 HZ01RF001 QueryOptions []string `json:"query_options,omitempty"` //可选 1024 查询选项,商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。 }
统一收单交易支付接口 请求 参数
func (*TradeFastPayRefundQueryRequest) ApiParamMethod ¶
func (t *TradeFastPayRefundQueryRequest) ApiParamMethod() string
func (*TradeFastPayRefundQueryRequest) DoValidate ¶
func (t *TradeFastPayRefundQueryRequest) DoValidate() error
func (*TradeFastPayRefundQueryRequest) GenResponse ¶
func (t *TradeFastPayRefundQueryRequest) GenResponse(data []byte) (IResponse, error)
从响应数据中生成结构体
func (*TradeFastPayRefundQueryRequest) HttpMethod ¶
func (t *TradeFastPayRefundQueryRequest) HttpMethod() string
type TradeFastPayRefundQueryResponse ¶
type TradeFastPayRefundQueryResponse struct { ErrorParam TradeNo string `json:"trade_no,omitempty"` //特殊可选 64 支付宝交易号 2014112611001004680073956707 OutTradeNo string `json:"out_trade_no,omitempty"` //特殊可选 64 创建交易传入的商户订单号 20150320010101001 OutRequestNo string `json:"out_request_no,omitempty"` //特殊可选 64 本笔退款对应的退款请求号 20150320010101001 TotalAmount string `json:"total_amount,omitempty"` //特殊可选 11 该笔退款所对应的交易的订单金额。单位:元。 100.20 RefundAmount string `json:"refund_amount,omitempty"` //特殊可选 11 本次退款请求,对应的退款金额。单位:元。 12.33 RefundStatus string `json:"refund_status,omitempty"` //特殊可选 32 退款状态。 枚举值: REFUND_SUCCESS 退款处理成功; 未返回该字段表示退款请求未收到或者退款失败; 注:如果退款查询发起时间早于退款时间,或者间隔退款发起时间太短,可能出现退款查询时还没处理成功,后面又处理成功的情况,建议商户在退款发起后间隔10秒以上再发起退款查询请求。 RefundRoyaltys []RefundRoyaltyResult `json:"refund_royaltys,omitempty"` //特殊可选 退分账明细信息,当前仅在直付通产品中返回。 GmtRefundPay string `json:"gmt_refund_pay,omitempty"` //特殊可选 32 退款时间。默认不返回该信息,需要在入参的query_options中指定"gmt_refund_pay"值时才返回该字段信息。 2014-11-27 15:45:57 RefundDetailItemList []TradeFundBill `json:"refund_detail_item_list,omitempty"` //特殊可选 本次退款使用的资金渠道; 默认不返回该信息,需要在入参的query_options中指定"refund_detail_item_list"值时才返回该字段信息。 SendBackFee string `json:"send_back_fee,omitempty"` //特殊可选 11 本次商户实际退回金额;单位:元。 默认不返回该信息,需要在入参的query_options中指定"refund_detail_item_list"值时才返回该字段信息。 88 DepositBackInfo DepositBackInfo `json:"deposit_back_info,omitempty"` //特殊可选 银行卡冲退信息; 默认不返回该信息,需要在入参的query_options中指定"deposit_back_info"值时才返回该字段信息。 RefundHybAmount string `json:"refund_hyb_amount,omitempty"` //可选 11 本次退款金额中退惠营宝的金额。单位:元。 10.24 RefundChargeInfoList []RefundChargeInfo `json:"refund_charge_info_list,omitempty"` //可选 退费信息 }
统一收单交易退款查询接口 响应 参数
func (TradeFastPayRefundQueryResponse) ApiParamMethod ¶
func (t TradeFastPayRefundQueryResponse) ApiParamMethod() string
type TradeFundBill ¶
type TradeFundBill struct { FundChannel string `json:"fund_channel"` //必选 32 交易使用的资金渠道,详见 支付渠道列表 ALIPAYACCOUNT Amount string `json:"amount"` //必选 32 该支付工具类型所使用的金额 10 RealAmount string `json:"real_amount"` //可选 11 渠道实际付款金额 11.21 FundType string `json:"fund_type,omitempty"` //可选 32 (退款交易接口响应中使用该字段)渠道所使用的资金类型,目前只在资金渠道(fund_channel)是银行卡渠道(BANKCARD)的情况下才返回该信息(DEBIT_CARD:借记卡,CREDIT_CARD:信用卡,MIXED_CARD:借贷合一卡) DEBIT_CARD }
交易支付使用的资金渠道。 只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。
type TradePayRequest ¶
type TradePayRequest struct { OutTradeNo string `json:"out_trade_no"` //必选 64 商户订单号。由商家自定义,64个字符以内,仅支持字母、数字、下划线且需保证在商户端不重复。 20150320010101001 TotalAmount float64 `json:"total_amount"` //必选 11 订单总金额。单位为元,精确到小数点后两位,取值范围:[0.01,100000000]。 88.88 Subject string `json:"subject"` //必选 256 订单标题。注意:不可使用特殊字符,如 /,=,& 等。 Iphone6 16G AuthCode string `json:"auth_code"` //必选 64 支付授权码。 当面付场景传买家的付款码(25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准)或者刷脸标识串(fp开头的35位字符串)。 28763443825664394 Scene string `json:"scene"` //必选 32 支付场景。枚举值: bar_code:当面付条码支付场景; security_code:当面付刷脸支付场景,对应的auth_code为fp开头的刷脸标识串; 默认值为bar_code。 枚举值 当面付条码支付场景: bar_code 当面付刷脸支付场景,对应的auth_code为fp开头的刷脸标识串: security_code bar_code ProductCode string `json:"product_code,omitempty"` //可选 64 产品码。 商家和支付宝签约的产品码。 当面付场景下,如果签约的是当面付快捷版,则传 OFFLINE_PAYMENT; 其它支付宝当面付产品传 FACE_TO_FACE_PAYMENT; 不传则默认使用FACE_TO_FACE_PAYMENT。 FACE_TO_FACE_PAYMENT SellerId string `json:"seller_id,omitempty"` //可选 28 卖家支付宝用户ID。 当需要指定收款账号时,通过该参数传入,如果该值为空,则默认为商户签约账号对应的支付宝用户ID。 收款账号优先级规则:门店绑定的收款账户>请求传入的seller_id>商户签约账号对应的支付宝用户ID; 注:直付通和机构间联场景下seller_id无需传入或者保持跟pid一致;如果传入的seller_id与pid不一致,需要联系支付宝小二配置收款关系; 2088102146225135 GoodsDetail []GoodsDetails `json:"goods_detail,omitempty"` //可选 订单包含的商品列表信息,json格式。 ExtendParams ExtendParams `json:"extend_params,omitempty"` //业务扩展参数 BusinessParams BusinessParams `json:"business_params,omitempty"` //可选 商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式 PromoParams PromoParam `json:"promo_params,omitempty"` //可选 优惠明细参数,通过此属性补充营销参数。 注:仅与支付宝协商后可用。 }
统一收单交易支付接口 请求 参数
func (*TradePayRequest) ApiParamMethod ¶
func (t *TradePayRequest) ApiParamMethod() string
func (*TradePayRequest) DoValidate ¶
func (t *TradePayRequest) DoValidate() error
func (*TradePayRequest) GenResponse ¶
func (t *TradePayRequest) GenResponse(data []byte) (IResponse, error)
从响应数据中生成结构体
func (*TradePayRequest) HttpMethod ¶
func (t *TradePayRequest) HttpMethod() string
type TradePayResponse ¶
type TradePayResponse struct { ErrorParam TradeNo string `json:"trade_no"` //必选 64 支付宝交易号 2013112011001004330000121536 OutTradeNo string `json:"out_trade_no"` //必选 64 商户订单号 6823789339978248 BuyerLogonId string `json:"buyer_logon_id"` //必选 100 买家支付宝账号 159****5620 TotalAmount string `json:"total_amount"` //必选 11 交易金额 120.88 ReceiptAmount string `json:"receipt_amount"` //必选 11 实收金额 88.88 BuyerPayAmount string `json:"buyer_pay_amount,omitempty"` //可选 11 买家付款的金额 8.88 PointAmount string `json:"point_amount,omitempty"` //可选 11 使用集分宝付款的金额 8.12 InvoiceAmount string `json:"invoice_amount,omitempty"` //可选 11 交易中可给用户开具发票的金额 12.50 GmtPayment string `json:"gmt_payment"` //必选 32 交易支付时间 2014-11-27 15:45:57 FundBillList []TradeFundBill `json:"fund_bill_list"` //必选 交易支付使用的资金渠道。 只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。 StoreName string `json:"store_name,omitempty"` //可选 512 发生支付交易的商户门店名称 证大五道口店 DiscountGoodsDetail string `json:"discount_goods_detail,omitempty"` //可选 5120 本次交易支付所使用的单品券优惠的商品优惠信息。 只有在query_options中指定时才返回该字段信息。 [{"goods_id":"STANDARD1026181538","goods_name":"雪碧","discount_amount":"100.00","voucher_id":"2015102600073002039000002D5O"}] BuyerUserId string `json:"buyer_user_id"` //必选 28 买家在支付宝的用户id 088101117955611 VoucherDetailList []VoucherDetail `json:"voucher_detail_list,omitempty"` //可选 本交易支付时使用的所有优惠券信息。 只有在query_options中指定时才返回该字段信息。 MdiscountAmount string `json:"mdiscount_amount,omitempty"` //特殊可选 11 商家优惠金额 88.88 DiscountAmount string `json:"discount_amount,omitempty"` //特殊可选 11 平台优惠金额 88.88 }
统一收单交易支付接口 响应 参数
func (TradePayResponse) ApiParamMethod ¶
func (t TradePayResponse) ApiParamMethod() string
type TradeQueryRequest ¶
type TradeQueryRequest struct { OutTradeNo string `json:"out_trade_no,omitempty"` //特殊可选 64 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no 20150320010101001 TradeNo string `json:"trade_no,omitempty"` //特殊可选 64 支付宝交易号,和商户订单号不能同时为空 2014112611001004680 073956707 QueryOptions []string `json:"query_options,omitempty"` //可选 1024 查询选项,商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。 }
统一收单线下交易查询接口请求
func (*TradeQueryRequest) ApiParamMethod ¶
func (t *TradeQueryRequest) ApiParamMethod() string
func (*TradeQueryRequest) DoValidate ¶
func (t *TradeQueryRequest) DoValidate() error
func (*TradeQueryRequest) GenResponse ¶
func (t *TradeQueryRequest) GenResponse(data []byte) (IResponse, error)
从响应数据中生成结构体
func (*TradeQueryRequest) HttpMethod ¶
func (t *TradeQueryRequest) HttpMethod() string
type TradeQueryResponse ¶
type TradeQueryResponse struct { ErrorParam TradeNo string `json:"trade_no"` //必选 64 支付宝交易号 2013112011001004330000121536 OutTradeNo string `json:"out_trade_no"` //必选 64 商家订单号 6823789339978248 BuyerLogonId string `json:"buyer_logon_id"` //必选 100 买家支付宝账号 159****5620 TradeStatus string `json:"trade_status"` //必选 32 交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) TRADE_CLOSED TotalAmount string `json:"total_amount"` //必选 11 交易的订单金额,单位为元,两位小数。该参数的值为支付时传入的total_amount 88.88 BuyerPayAmount string `json:"buyer_pay_amount,omitempty"` //可选 11 买家实付金额,单位为元,两位小数。该金额代表该笔交易买家实际支付的金额,不包含商户折扣等金额 8.88 PointAmount string `json:"point_amount,omitempty"` //可选 11 积分支付的金额,单位为元,两位小数。该金额代表该笔交易中用户使用积分支付的金额,比如集分宝或者支付宝实时优惠等 10 InvoiceAmount string `json:"invoice_amount,omitempty"` //可选 11 交易中用户支付的可开具发票的金额,单位为元,两位小数。该金额代表该笔交易中可以给用户开具发票的金额 12.11 SendPayDate string `json:"send_pay_date,omitempty"` //特殊可选 32 本次交易打款给卖家的时间 2014-11-27 15:45:57 ReceiptAmount string `json:"receipt_amount,omitempty"` //特殊可选 11 实收金额,单位为元,两位小数。该金额为本笔交易,商户账户能够实际收到的金额 15.25 StoreId string `json:"store_id,omitempty"` //特殊可选 32 商户门店编号 NJ_S_001 TerminalId string `json:"terminal_id,omitempty"` //特殊可选 32 商户机具终端编号 NJ_T_001 FundBillList []TradeFundBill `json:"fund_bill_list"` //必选 交易支付使用的资金渠道。 只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。 StoreName string `json:"store_name,omitempty"` //特殊可选 512 请求交易支付中的商户店铺的名称 证大五道口店 BuyerUserId string `json:"buyer_user_id"` //必选 16 买家在支付宝的用户id 2088101117955611 BuyerUserType string `json:"buyer_user_type,omitempty"` //特殊可选 18 买家用户类型。CORPORATE:企业用户;PRIVATE:个人用户。 MdiscountAmount string `json:"mdiscount_amount,omitempty"` //特殊可选 11 商家优惠金额 88.88 DiscountAmount string `json:"discount_amount,omitempty"` //特殊可选 11 平台优惠金额 88.88 ExtInfos string `json:"ext_infos,omitempty"` //特殊可选 1024 交易额外信息,特殊场景下与支付宝约定返回。 json格式。 {"action":"cancel"} }
统一收单线下交易查询接口响应
func (TradeQueryResponse) ApiParamMethod ¶
func (t TradeQueryResponse) ApiParamMethod() string
type TradeRefundDepositBackCompletedRequest ¶
type TradeRefundDepositBackCompletedRequest struct { NotifyId string `json:"notify_id"` //必选 50 通知ID 5608cccc09ddb39d41c2e3c06e3d9fejh2 UtcTimestamp string `json:"utc_timestamp"` //必选 13 消息发送时的服务端时间 1514210452731 MsgMethod string `json:"msg_method"` //必选 100 消息接口名称 alipay.trade.refund.depositback.completed AppId string `json:"app_id"` //必选 20 消息接受方的应用id 2014060600164699 MsgType string `json:"msg_type,omitempty"` //可选 5 消息类型。目前支持类型:sys:系统消息;usr,用户消息;app,应用消息 sys MsgAppId string `json:"msg_app_id,omitempty"` //可选 20 消息归属方的应用id。应用消息时非空 2016032301002387 Version string `json:"version"` //必选 5 版本号(1.1版本为标准消息) 1.0或者1.1 BizContent string `json:"biz_content"` //必选 消息报文 参见具体的消息接口文档 Sign string `json:"sign"` //必选 签名 WcO+t3D8Kg71dTlKwN7r9PzUOXeaBJwp8/FOuSxcuSkXsoVYxBpsAidprySCjHCjmaglNcjoKJQLJ28/Asl93joTW39FX6i07lXhnbPknezAlwmvPdnQuI01HZsZF9V1i6ggZjBiAd5lG8bZtTxZOJ87ub2i9GuJ3Nr/NUc9VeY= SignType string `json:"sign_type"` //必选 10 签名类型 RSA2 EncryptType string `json:"encrypt_type,omitempty"` //可选 10 加密算法 AES Charset string `json:"charset"` //必选 10 编码集,该字符集为验签和解密所需要的字符集 UTF-8 NotifyType string `json:"notify_type,omitempty"` //可选 20 [1.0版本老协议参数]通知类型,1.1接口没有该参数 trade_status NotifyTime string `json:"notify_time,omitempty"` //可选 19 [1.0版本老协议参数]通知时间,北京时区,时间格式为:yyyy-MM-dd HH:mm:ss,如果服务器部署在国外请注意做时区转换。若version=1.1则可以使用utc_timestamp识别时间 1970-01-01 00:00:00 AuthAppId string `json:"auth_app_id,omitempty"` //可选 20 [1.0版本老协议参数]授权方的应用id 2016032301002387 }
支付宝服务器发送的通知 请求
type TradeRefundRequest ¶
type TradeRefundRequest struct { OutTradeNo string `json:"out_trade_no,omitempty"` //特殊可选 64 商户订单号。 订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一。与支付宝交易号 trade_no 不能同时为空 20150320010101001 TradeNo string `json:"trade_no,omitempty"` //特殊可选 64 支付宝交易号。 和商户订单号 out_trade_no 不能同时为空。 2014112611001004680073956707 RefundAmount float64 `json:"refund_amount"` //必选 11 退款金额。 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数。注:如果正向交易使用了营销,该退款金额包含营销金额,支付宝会按业务规则分配营销和买家自有资金分别退多少,默认优先退买家的自有资金。如交易总金额100元,用户支付时使用了80元自有资金和20元无资金流的营销券,商家实际收款80元。如果首次请求退款60元,则60元全部从商家收款资金扣除退回给用户自有资产;如果再请求退款40元,则从商家收款资金扣除20元退回用户资产以及把20元的营销券退回给用户(券是否可再使用取决于券的规则配置)。 200.12 RefundReason string `json:"refund_reason,omitempty"` //可选 256 退款原因说明。 商家自定义,将在会在商户和用户的pc退款账单详情中展示 正常退款 OutRequestNo string `json:"out_request_no,omitempty"` //可选 64 退款请求号。 标识一次退款请求,需要保证在交易号下唯一,如需部分退款,则此参数必传。 注:针对同一次退款请求,如果调用接口失败或异常了,重试时需要保证退款请求号不能变更,防止该笔交易重复退款。支付宝会保证同样的退款请求号多次请求只会退一次。 HZ01RF001 RefundGoodsDetail []RefundGoodsDetail `json:"refund_goods_detail,omitempty"` //可选 退款包含的商品列表信息 RefundRoyaltyParameters []OpenApiRoyaltyDetailInfoPojo `json:"refund_royalty_parameters,omitempty"` //可选 退分账明细信息。 //注: 1.当面付且非直付通模式无需传入退分账明细,系统自动按退款金额与订单金额的比率,从收款方和分账收入方退款,不支持指定退款金额与退款方。 //2.直付通模式,电脑网站支付,手机 APP 支付,手机网站支付产品,须在退款请求中明确是否退分账,从哪个分账收入方退,退多少分账金额;如不明确,默认从收款方退款,收款方余额不足退款失败。不支持系统按比率退款。 QueryOptions []string `json:"query_options,omitempty"` //可选 1024 查询选项。 商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。支持:refund_detail_item_list:退款使用的资金渠道;deposit_back_info:触发银行卡冲退信息通知; }
统一收单交易退款接口 请求 参数
func (*TradeRefundRequest) ApiParamMethod ¶
func (t *TradeRefundRequest) ApiParamMethod() string
func (*TradeRefundRequest) DoValidate ¶
func (t *TradeRefundRequest) DoValidate() error
func (*TradeRefundRequest) GenResponse ¶
func (t *TradeRefundRequest) GenResponse(data []byte) (IResponse, error)
从响应数据中生成结构体
func (*TradeRefundRequest) HttpMethod ¶
func (t *TradeRefundRequest) HttpMethod() string
type TradeRefundResponse ¶
type TradeRefundResponse struct { ErrorParam TradeNo string `json:"trade_no"` //必选 64 2013112011001004330000121536 支付宝交易号 OutTradeNo string `json:"out_trade_no"` //必选 64 商户订单号 6823789339978248 BuyerLogonId string `json:"buyer_logon_id"` //必选 100 用户的登录id 159****5620 FundChange string `json:"fund_change"` //必选 1 本次退款是否发生了资金变化 Y RefundFee string `json:"refund_fee"` //必选 11 退款总金额。单位:元。 指该笔交易累计已经退款成功的金额。 88.88 RefundDetailItemList []TradeFundBill `json:"refund_detail_item_list,omitempty"` //特殊可选 退款使用的资金渠道。 只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。 StoreName string `json:"store_name,omitempty"` //特殊可选 512 交易在支付时候的门店名称 望湘园联洋店 BuyerUserId string `json:"buyer_user_id,omitempty"` //特殊可选 28 买家在支付宝的用户id 2088101117955611 SendBackFee string `json:"send_back_fee,omitempty"` //特殊可选 11 本次商户实际退回金额。单位:元。 说明:如需获取该值,需在入参query_options中传入 refund_detail_item_list。 1.8 RefundHybAmount string `json:"refund_hyb_amount,omitempty"` //可选 11 本次请求退惠营宝金额。单位:元。 10.24 RefundChargeInfoList []RefundChargeInfo `json:"refund_charge_info_list,omitempty"` //可选 退费信息 GmtRefundPay string `json:"gmt_refund_pay,omitempty"` //文档中没有说明,实际返回值中存在 时间字符串 2023-08-18 14:08:20 }
统一收单交易退款接口 响应 参数
func (TradeRefundResponse) ApiParamMethod ¶
func (t TradeRefundResponse) ApiParamMethod() string
type VoucherDetail ¶
type VoucherDetail struct { Id string `json:"id"` //必选 32 券id 2015102600073002039000002D5O Name string `json:"name"` //必选 64 券名称 XX超市5折优惠 Type string `json:"type"` //必选 32 券类型 //注:不排除将来新增其他类型的可能,商家接入时注意兼容性避免硬编码 //枚举值 //全场代金券: ALIPAY_FIX_VOUCHER //折扣券: ALIPAY_DISCOUNT_VOUCHER //单品优惠券: ALIPAY_ITEM_VOUCHER //现金抵价券: ALIPAY_CASH_VOUCHER //商家全场券: ALIPAY_BIZ_VOUCHER Amount string `json:"amount"` //必选 8 优惠券面额,它应该会等于商家出资加上其他出资方出资 10.00 MerchantContribute string `json:"merchant_contribute"` //可选 8 商家出资(特指发起交易的商家出资金额) 9.00 OtherContribute string `json:"other_contribute"` //可选 8 其他出资方出资金额,可能是支付宝,可能是品牌商,或者其他方,也可能是他们的一起出资 1.00 Memo string `json:"memo"` //可选 256 优惠券备注信息 学生专用优惠 TemplateId string `json:"template_id"` //可选 64 券模板id 20171030000730015359000EMZP0 PurchaseBuyerContribute string `json:"purchase_buyer_contribute"` //可选 8 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时用户实际付款的金额 2.01 PurchaseMerchantContribute string `json:"purchase_merchant_contribute"` //可选 8 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额 1.03 PurchaseAntContribute string `json:"purchase_ant_contribute"` //可选 8 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时平台优惠的金额 0.82 }
本交易支付时使用的所有优惠券信息。 只有在query_options中指定时才返回该字段信息。
Source Files ¶
- ailpay_public_param.go
- alipay_api_auth_token_app.go
- alipay_api_trade_cancel.go
- alipay_api_trade_fastpay_refund_query.go
- alipay_api_trade_pay.go
- alipay_api_trade_query.go
- alipay_api_trade_refund.go
- alipay_api_trade_refund_deposiback_completed.go
- alipay_client.go
- alipay_const.go
- alipay_http.go
- alipay_interface.go
- rsa.go
- tools.go