alipay

package module
v0.0.0-...-f2df5d9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2016 License: Apache-2.0 Imports: 21 Imported by: 0

README

alipay

支付宝即时到帐,支付宝移动支付 Golang实现 ++增加支付宝扫码支付

快速开始

获取安装
go get -u github.com/11m09d/alipay
推荐使用localtunnel测试回调通知

可以先安装一个localtunnel 可以方便快捷的实现你的本地web服务通过外网访问,无需修改DNS和防火墙设置

$ npm install -g localtunnel

示例

通过localtunnel获取外网地址:
$ lt --port 9090
your url is: http://eygytquvvu.localtunnel.me
修改示例代码中的配置:

记得修改示例中的对应的partner, key, email配置, 如果需要使用app支付记得添加public key path和private key path

var (
	partner = "your pid"
	key     = "your key"
	email   = "your email"

	publicKeyPath  = "your rsa pubKey path" // "支付宝的公共密钥xxx/rsa_public_key.pem"
	privateKeyPath = "your rsa priKey path" // "个人的私有密钥xxx/rsa_private_key.pem"

	a = alipay.NewPayment(partner, key, email)
	// app 支付需要加入rsa公钥密钥
	// a.InitRSA(publicKeyPath, privateKeyPath)

    // 示例监听的端口
	port = ":9090"

    // 通过 lt --port 9090 获取的外网地址
    localTunnel = "http://eygytquvvu.localtunnel.me"
    ...
)
启动示例程序:
$ go run example/main.go
在浏览器中访问本地服务:

http://localhost:9090/index

具体如何使用请查看example/main.go

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AlipayGateway = "https://mapi.alipay.com/gateway.do?"
View Source
var ErrNotFoundNotifyID = errors.New("not found notify_id")
View Source
var ErrNotifyDataIsEmpty = errors.New("notify data is empty")
View Source
var ErrReturnDataIsEmpty = errors.New("return data is empty")
View Source
var LogPrefix = "[Alipay]"

Functions

func Contains

func Contains(strs []string, key string) bool

func MD5

func MD5(strs ...string) string

func SHA1

func SHA1(b []byte) []byte

Types

type Alipay

type Alipay struct {
	// contains filtered or unexported fields
}

func NewPayment

func NewPayment(partner, key, email string) *Alipay

func (*Alipay) DoHttpGet

func (alipay *Alipay) DoHttpGet(targetUrl string) ([]byte, error)

doRequest get the order in xml format with a sign

func (*Alipay) InitRSA

func (a *Alipay) InitRSA(pubPath, priPath string) *Alipay

func (*Alipay) InstantCredit

func (a *Alipay) InstantCredit(outTradeNo, subject string, totalFee float64, extraParams map[string]string) (checkoutURL string, err error)

func (*Alipay) InstantCreditNotify

func (a *Alipay) InstantCreditNotify(req *http.Request) (result *InstantCreditNotify, err error)

func (*Alipay) InstantCreditReturn

func (a *Alipay) InstantCreditReturn(req *http.Request) (result *InstantCreditReturn, err error)

商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号, 并判断total_fee是否确实为该订单的实际金额(即商户订单创建时的金额), 同时需要校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候, 一个商户可能有多个seller_id/seller_email), 上述有任何一个验证不通过,则表明本次通知是异常通知,务必忽略。 在上述验证通过后商户必须根据支付宝不同类型的业务通知,正确的进行不同的业务处理,并且过滤重复的通知结果数据。 在支付宝的业务通知中,只有交易通知状态为TRADE_SUCCESS或TRADE_FINISHED时,支付宝才会认定为买家付款成功。 如果商户需要对同步返回的数据做验签,必须通过服务端的签名验签代码逻辑来实现。如果商户未正确处理业务通知,存在潜在的风险,商户自行承担因此而产生的所有损失。

交易状态TRADE_SUCCESS的通知触发条件是商户签约的产品支持退款功能的前提下,买家付款成功; 交易状态TRADE_FINISHED的通知触发条件是商户签约的产品不支持退款功能的前提下,买家付款成功;或者,商户签约的产品支持退款功能的前提下,交易已经成功并且已经超过可退款期限; 交易成功之后,商户(高级即时到账或机票平台商)可调用批量退款接口,系统会发送退款通知给商户,具体内容请参见批量退款接口文档; 当商户使用站内退款时,系统会发送包含refund_status和gmt_refund字段的通知给商户。

func (*Alipay) MobilePayment

func (a *Alipay) MobilePayment(outTradeNo, subject string, totalFee float64, notifyURL string, extraParams map[string]string) (s string, err error)

func (*Alipay) MobilePaymentNotify

func (a *Alipay) MobilePaymentNotify(req *http.Request) (result *MobilePaymentNotify, err error)

func (*Alipay) QRCodePayment

func (a *Alipay) QRCodePayment(outTradeNo, subject string, totalFee float64, notifyURL string) (s string, err error)

func (*Alipay) QRCodePaymentNotify

func (a *Alipay) QRCodePaymentNotify(req *http.Request) (result *QRCodePaymentNotifyMap, err error)

func (*Alipay) Refund

func (a *Alipay) Refund(batchNo string, detailDatas []RefundDetailData, notifyURL string) (refundURL string, err error)

service 接口名称 String 接口名称。 不可空 refund_fastpay_by_platform_pwd partner 合作者身份ID String(16) 签约的支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。 不可空 2088101008267254 _input_charset 参数编码字符集 String 商户网站使用的编码格式,如utf-8、gbk、gb2312等。 不可空 GBK sign_type 签名方式 String DSA、RSA、MD5三个值可选,必须大写。 不可空 MD5 sign 签名 String 请参见签名。 不可空 tphoyf4aoio5e6zxoaydjevem2c1s1zo notify_url 服务器异步通知页面路径 String(200) 支付宝服务器主动通知商户网站里指定的页面http路径。 可空 http://api.test.alipay.net/atinterface/receive_notify.htm seller_email 卖家支付宝账号 String 如果卖家Id已填,则此字段可为空。 不可空 Jier1105@alitest.com seller_user_id 卖家用户ID String 卖家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。登录时,seller_email和seller_user_id两者必填一个。如果两者都填,以seller_user_id为准。 不可空 2088101008267254 refund_date 退款请求时间 String 退款请求的当前时间。格式为:yyyy-MM-dd hh:mm:ss。 不可空 2011-01-12 11:21:00 batch_no 退款批次号 String 每进行一次即时到账批量退款,都需要提供一个批次号,通过该批次号可以查询这一批次的退款交易记录,对于每一个合作伙伴,传递的每一个批次号都必须保证唯一性。格式为:退款日期(8位)+流水号(3~24位)。不可重复,且退款日期必须是当天日期。流水号可以接受数字或英文字符,建议使用数字,但不可接受“000”。 不可空 201101120001 batch_num 总笔数 String 即参数detail_data的值中,“#”字符出现的数量加1,最大支持1000笔(即“#”字符出现的最大数量为999个)。 不可空 1 detail_data 单笔数据集 String 退款请求的明细数据。格式详情参见下面的“单笔数据集参数说明”。 不可空 2011011201037066^5.00^协商退款

func (*Alipay) RefundNotify

func (a *Alipay) RefundNotify(req *http.Request) (rnr *RefundNotifyResult, err error)

type InstantCreditNotify

type InstantCreditNotify struct {
	NotifyTime       string  //  通知时间	Date	通知的发送时间。格式为yyyy-MM-dd HH:mm:ss。	不可空	2009-08-12 11:08:32
	NotifyType       string  //  通知类型	String	通知的类型。	不可空	trade_status_sync
	NotifyID         string  //  通知校验ID	String	通知校验ID。	不可空	70fec0c2730b27528665af4517c27b95
	SignType         string  //  签名方式	String	DSA、RSA、MD5三个值可选,必须大写。	不可空	DSA
	Sign             string  //  签名	String	请参见签名验证。	不可空	_p_w_l_h_j0b_gd_aejia7n_ko4_m%2Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q%3D
	OutTradeNo       string  //  商户网站唯一订单号	String(64)	对应商户网站的订单系统中的唯一订单号,非支付宝交易号。需保证在商户网站中的唯一性。是请求时对应的参数,原样返回。	可空	3618810634349901
	Subject          string  //  商品名称	String(256)	商品的标题/交易标题/订单标题/订单关键字等。它在支付宝的交易明细中排在第一列,对于财务对账尤为重要。是请求时对应的参数,原样通知回来。	可空	phone手机
	PaymentType      string  //  支付类型	String(4)	取值范围请参见收款类型。	可空	1
	TradeNo          string  //  支付宝交易号	String(64)	该交易在支付宝系统中的交易流水号。最长64位。	可空	2014040311001004370000361525
	TradeStatus      string  //  交易状态	String	取值范围请参见交易状态。	可空	TRADE_FINISHED
	GMTCreate        string  //  交易创建时间	Date	该笔交易创建的时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-22 20:49:31
	GMTPayment       string  //  交易付款时间	Date	该笔交易的买家付款时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-22 20:49:50
	GMTClose         string  //  交易关闭时间	Date	交易关闭时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-22 20:49:46
	RefundStatus     string  //  退款状态	String	取值范围请参见退款状态。	可空	REFUND_SUCCESS
	GMTRefund        string  //  退款时间	Date	卖家退款的时间,退款通知时会发送。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-29 19:38:25
	SellerEmail      string  //  卖家支付宝账号	String(100)	卖家支付宝账号,可以是email和手机号码。	可空	chao.chenc1@alipay.com
	BuyerEmail       string  //  买家支付宝账号	String(100)	买家支付宝账号,可以是Email或手机号码。	可空	13758698870
	SellerID         string  //  卖家支付宝账户号	String(30)	卖家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	可空	2088002007018916
	BuyerID          string  //  买家支付宝账户号	String(30)	买家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	可空	2088002007013600
	Price            float64 //  商品单价	Number	如果请求时使用的是total_fee,那么price等于total_fee;如果请求时使用的是price,那么对应请求时的price参数,原样通知回来。	可空	10.00
	TotalFee         float64 //  交易金额	Number	该笔订单的总金额。请求时对应的参数,原样通知回来。	可空	10.00
	Quantity         int64   //  购买数量	Number	如果请求时使用的是total_fee,那么quantity等于1;如果请求时使用的是quantity,那么对应请求时的quantity参数,原样通知回来。	可空	1
	Body             string  //  商品描述	String(400)	该笔订单的备注、描述、明细等。对应请求时的body参数,原样通知回来。	可空	Hello
	Discount         float64 //  折扣	Number	支付宝系统会把discount的值加到交易金额上,如果需要折扣,本参数为负数。	可空	-5
	IsTotalFeeAdjust string  //  是否调整总价	String(1)	该交易是否调整过价格。	可空	N
	UseCoupon        string  //  是否使用红包买家	String(1)	是否在交易过程中使用了红包。	可空	N
	ExtraCommonParam string  //  公用回传参数	String	用于商户回传参数,该值不能包含“=”、“&”等特殊字符。如果用户请求时传递了该参数,则返回给商户时会回传该参数。	可空	你好,这是测试商户的广告。
	OutChannelType   string  //  支付渠道组合信息	String	该笔交易所使用的支付渠道。格式为:渠道1|渠道2|…,如果有多个渠道,用“|”隔开。取值范围请参见渠道类型说明与币种列表。	可空	OPTIMIZED_MOTO|BALANCE
	OutChannelAmount string  //  支付金额组合信息	String	该笔交易通过使用各支付渠道所支付的金额。格式为:金额1|金额2|…,如果有多个支付渠道,各渠道所支付金额用“|”隔开。	可空	90.00|10.00
	OutChannelInst   string  //  实际支付渠道	String	该交易支付时实际使用的银行渠道。格式为:支付渠道1|支付渠道2|…,如果有多个支付渠道,用“|”隔开。取值范围请参见实际支付渠道列表。该参数需要联系支付宝开通。	可空	ICBC
	BusinessScene    string  //  是否扫码支付	String	回传给商户此标识为qrpay时,表示对应交易为扫码支付。目前只有qrpay一种回传值。非扫码支付方式下,目前不会返回该参数。	可空	qrpay
}

type InstantCreditReturn

type InstantCreditReturn struct {
	IsSuccess        string  //  成功标识	String(1)	表示接口调用是否成功,并不表明业务处理结果。	不可空	T
	SignType         string  //  签名方式	String	DSA、RSA、MD5三个值可选,必须大写。	不可空	MD5
	Sign             string  //  签名	String(32)	请参见签名验证	不可空	b1af584504b8e845ebe40b8e0e733729
	OutTradeNo       string  //  商户网站唯一订单号	String(64)	对应商户网站的订单系统中的唯一订单号,非支付宝交易号。需保证在商户网站中的唯一性。是请求时对应的参数,原样返回。	可空	6402757654153618
	Subject          string  //  商品名称	String(256)	商品的标题/交易标题/订单标题/订单关键字等。	可空	手套
	PaymentType      string  //  支付类型	String(4)	对应请求时的payment_type参数,原样返回。	可空	1
	Exterface        string  //  接口名称	String	标志调用哪个接口返回的链接。	可空	create_direct_pay_by_user
	TradeNo          string  //  支付宝交易号	String(64)	该交易在支付宝系统中的交易流水号。最长64位。	可空	2014040311001004370000361525
	TradeStatus      string  //  交易状态	String	交易目前所处的状态。成功状态的值只有两个:TRADE_FINISHED(普通即时到账的交易成功状态);TRADE_SUCCESS(开通了高级即时到账或机票分销产品后的交易成功状态)	可空	TRADE_FINISHED
	NotifyID         string  //  通知校验ID	String	支付宝通知校验ID,商户可以用这个流水号询问支付宝该条通知的合法性。	可空	RqPnCoPT3K9%2Fvwbh3I%2BODmZS9o4qChHwPWbaS7UMBJpUnBJlzg42y9A8gQlzU6m3fOhG
	NotifyTime       string  //  通知时间	Date	通知时间(支付宝时间)。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-23 13:17:39
	NotifyType       string  //  通知类型	String	返回通知类型。	可空	trade_status_sync
	SellerEmail      string  //  卖家支付宝账号	String(100)	卖家支付宝账号,可以是Email或手机号码。	可空	chao.chenc1@alipay.com
	BuyerEmail       string  //  买家支付宝账号	String(100)	买家支付宝账号,可以是Email或手机号码。	可空	tstable01@alipay.com
	SellerID         string  //  卖家支付宝账户号	String(30)	卖家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	可空	2088002007018916
	BuyerID          string  //  买家支付宝账户号	String(30)	买家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	可空	2088101000082594
	TotalFee         float64 //  交易金额	Number	该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。	可空	10.00
	Body             string  //  商品描述	String(400)	对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。	可空	Hello
	ExtraCommonParam string  //  	公用回传参数	String	用于商户回传参数,该值不能包含“=”、“&”等特殊字符。如果用户请求时传递了该参数,则返回给商户时会回传该参数。	可空	你好,这是测试商户的广告。
	AgentUserID      string  //  信用支付购票员的代理人ID	String	本参数用于信用支付。它代表执行支付操作的操作员账号所属的代理人的支付宝唯一用户号。以2088开头的纯16位数字。	可空	2088101000071628
}

type KVpair

type KVpair struct {
	K, V string
}

type KVpairs

type KVpairs []KVpair

func GenKVpairs

func GenKVpairs(paramsKeyMap map[string]bool, initParams map[string]string, ignoreKey ...string) (kvs KVpairs, err error)

func (KVpairs) Join

func (t KVpairs) Join(sep string) string

func (KVpairs) Len

func (t KVpairs) Len() int

func (KVpairs) Less

func (t KVpairs) Less(i, j int) bool

func (KVpairs) RemoveEmpty

func (t KVpairs) RemoveEmpty() KVpairs

func (KVpairs) Sort

func (t KVpairs) Sort() KVpairs

func (KVpairs) Swap

func (t KVpairs) Swap(i, j int)

type MobilePaymentNotify

type MobilePaymentNotify struct {
	NotifyTime       string  //  notify_time	通知时间	Date	通知的发送时间。格式为yyyy-MM-dd HH:mm:ss。	不可空	2013-08-22 14:45:24
	NotifyType       string  //  notify_type	通知类型	String	通知的类型。	不可空	trade_status_sync
	NotifyID         string  //  notify_id	通知校验ID	String	通知校验ID。	不可空	64ce1b6ab92d00ede0ee56ade98fdf2f4c
	SignType         string  //  sign_type	签名方式	String	固定取值为RSA。	不可空	RSA
	Sign             string  //  sign	签名	String	请参见签名机制。	不可空	lBBK%2F0w5LOajrMrji7DUgEqNjIhQbidR13GovA5r3TgIbNqv231yC1NksLdw%2Ba3JnfHXoXuet6XNNHtn7VE%2BeCoRO1O%2BR1KugLrQEZMtG5jmJI
	OutTradeNo       string  //  out_trade_no	商户网站唯一订单号	String(64)	对应商户网站的订单系统中的唯一订单号,非支付宝交易号。需保证在商户网站中的唯一性。是请求时对应的参数,原样返回。	可空	082215222612710
	Subject          string  //  subject	商品名称	String(128)	商品的标题/交易标题/订单标题/订单关键字等。它在支付宝的交易明细中排在第一列,对于财务对账尤为重要。是请求时对应的参数,原样通知回来。	可空	测试
	PaymentType      string  //  payment_type	支付类型	String(4)	支付类型。默认值为:1(商品购买)。	可空	1
	TradeNo          string  //  trade_no	支付宝交易号	String(64)	该交易在支付宝系统中的交易流水号。最短16位,最长64位。	不可空	2013082244524842
	TradeStatus      string  //  trade_status	交易状态	String	交易状态,取值范围请参见“交易状态”。	不可空	TRADE_SUCCESS
	SellerID         string  //  seller_id	卖家支付宝用户号	String(30)	卖家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	不可空	2088501624816263
	SellerEmail      string  //  seller_email	卖家支付宝账号	String(100)	卖家支付宝账号,可以是email和手机号码。	不可空	xxx@alipay.com
	BuyerID          string  //  buyer_id	买家支付宝用户号	String(30)	买家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	不可空	2088602315385429
	BuyerEmail       string  //  buyer_email	买家支付宝账号	String(100)	买家支付宝账号,可以是Email或手机号码。	不可空	dlwdgl@gmail.com
	TotalFee         float64 //  total_fee	交易金额	Number	该笔订单的总金额。请求时对应的参数,原样通知回来。	不可空	1.00
	Quantity         int64   //  quantity	购买数量	Number	购买数量,固定取值为1(请求时使用的是total_fee)。	可空	1
	Price            float64 //  price	商品单价	Number	price等于total_fee(请求时使用的是total_fee)。	可空	1.00
	Body             string  //  body	商品描述	String(512)	该笔订单的备注、描述、明细等。对应请求时的body参数,原样通知回来。	可空	测试测试
	GMTCreate        string  //  gmt_create	交易创建时间	Date	该笔交易创建的时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2013-08-22 14:45:23
	GMTPayment       string  //  gmt_payment	交易付款时间	Date	该笔交易的买家付款时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2013-08-22 14:45:24
	IsTotalFeeAdjust string  //  is_total_fee_adjust	是否调整总价	String(1)	该交易是否调整过价格。	可空	N
	UseCoupon        string  //  use_coupon	是否使用红包买家	String(1)	是否在交易过程中使用了红包。	可空	N
	Discount         float64 //  discount	折扣	String	支付宝系统会把discount的值加到交易金额上,如果有折扣,本参数为负数,单位为元。	可空	0.00
	RefundStatus     string  //  refund_status	退款状态	String	取值范围请参见“退款状态”。	可空	REFUND_SUCCESS
	GMTRefund        string  //  gmt_refund	退款时间	Date	卖家退款的时间,退款通知时会发送。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-29 19:38:25
}

type Params

type Params map[string]string

func ParseParams

func ParseParams(query string) (Params, error)

func (Params) Encode

func (v Params) Encode(escape bool) string

type QRCodePaymentNotifyMap

type QRCodePaymentNotifyMap struct {
	NotifyTime       string  //  notify_time	通知时间	Date	通知的发送时间。格式为yyyy-MM-dd HH:mm:ss。	不可空	2013-08-22 14:45:24
	NotifyType       string  //  notify_type	通知类型	String	通知的类型。	不可空	trade_status_sync
	NotifyID         string  //  notify_id	通知校验ID	String	通知校验ID。	不可空	64ce1b6ab92d00ede0ee56ade98fdf2f4c
	SignType         string  //  sign_type	签名方式	String	固定取值为RSA。	不可空	RSA
	Sign             string  //  sign	签名	String	请参见签名机制。	不可空	lBBK%2F0w5LOajrMrji7DUgEqNjIhQbidR13GovA5r3TgIbNqv231yC1NksLdw%2Ba3JnfHXoXuet6XNNHtn7VE%2BeCoRO1O%2BR1KugLrQEZMtG5jmJI
	OutTradeNo       string  //  out_trade_no	商户网站唯一订单号	String(64)	对应商户网站的订单系统中的唯一订单号,非支付宝交易号。需保证在商户网站中的唯一性。是请求时对应的参数,原样返回。	可空	082215222612710
	Subject          string  //  subject	商品名称	String(128)	商品的标题/交易标题/订单标题/订单关键字等。它在支付宝的交易明细中排在第一列,对于财务对账尤为重要。是请求时对应的参数,原样通知回来。	可空	测试
	PaymentType      string  //  payment_type	支付类型	String(4)	支付类型。默认值为:1(商品购买)。	可空	1
	TradeNo          string  //  trade_no	支付宝交易号	String(64)	该交易在支付宝系统中的交易流水号。最短16位,最长64位。	不可空	2013082244524842
	TradeStatus      string  //  trade_status	交易状态	String	交易状态,取值范围请参见“交易状态”。	不可空	TRADE_SUCCESS
	SellerID         string  //  seller_id	卖家支付宝用户号	String(30)	卖家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	不可空	2088501624816263
	SellerEmail      string  //  seller_email	卖家支付宝账号	String(100)	卖家支付宝账号,可以是email和手机号码。	不可空	xxx@alipay.com
	BuyerID          string  //  buyer_id	买家支付宝用户号	String(30)	买家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。	不可空	2088602315385429
	BuyerEmail       string  //  buyer_email	买家支付宝账号	String(100)	买家支付宝账号,可以是Email或手机号码。	不可空	dlwdgl@gmail.com
	TotalFee         float64 //  total_fee	交易金额	Number	该笔订单的总金额。请求时对应的参数,原样通知回来。	不可空	1.00
	Quantity         int64   //  quantity	购买数量	Number	购买数量,固定取值为1(请求时使用的是total_fee)。	可空	1
	Price            float64 //  price	商品单价	Number	price等于total_fee(请求时使用的是total_fee)。	可空	1.00
	Body             string  //  body	商品描述	String(512)	该笔订单的备注、描述、明细等。对应请求时的body参数,原样通知回来。	可空	测试测试
	GMTCreate        string  //  gmt_create	交易创建时间	Date	该笔交易创建的时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2013-08-22 14:45:23
	GMTPayment       string  //  gmt_payment	交易付款时间	Date	该笔交易的买家付款时间。格式为yyyy-MM-dd HH:mm:ss。	可空	2013-08-22 14:45:24
	IsTotalFeeAdjust string  //  is_total_fee_adjust	是否调整总价	String(1)	该交易是否调整过价格。	可空	N
	UseCoupon        string  //  use_coupon	是否使用红包买家	String(1)	是否在交易过程中使用了红包。	可空	N
	Discount         float64 //  discount	折扣	String	支付宝系统会把discount的值加到交易金额上,如果有折扣,本参数为负数,单位为元。	可空	0.00
	RefundStatus     string  //  refund_status	退款状态	String	取值范围请参见“退款状态”。	可空	REFUND_SUCCESS
	GMTRefund        string  //  gmt_refund	退款时间	Date	卖家退款的时间,退款通知时会发送。格式为yyyy-MM-dd HH:mm:ss。	可空	2008-10-29 19:38:25
}

type RefundDetailData

type RefundDetailData struct {
	AlipayTransID string
	Amount        float64
	RefundReason  string
}

type RefundNotifyResult

type RefundNotifyResult struct {
	NotifyTime    string //  通知时间	Date	通知发送的时间。格式为:yyyy-MM-dd HH:mm:ss。	不可空	2009-08-12 11:08:32
	NotifyType    string //  通知类型	String	通知的类型。	不可空	batch_refund_notify
	NotifyID      string //  通知校验ID	String	通知校验ID。	不可空	70fec0c2730b27528665af4517c27b95
	SignType      string //  签名方式	String	DSA、RSA、MD5三个值可选,必须大写。	不可空	MD5
	Sign          string //  签名            String	请参见签名验证。	不可空	b7baf9af3c91b37bef4261849aa76281
	BatchNo       string //  退款批次号	String	原请求退款批次号。	不可空	20060702001
	SuccessNum    string //  退款成功总数	String	退交易成功的笔数。0<= success_num<= 总退款笔数。	不可空	2
	ResultDetails string //  退款结果明细	String	退款结果明细:退手续费结果返回格式:交易号^退款金额^处理结果\$退费账号^退费账户ID^退费金额^处理结果;不退手续费结果返回格式:交易号^退款金额^处理结果。若退款申请提交成功,处理结果会返回“SUCCESS”。若提交失败,退款的处理结果中会有报错码,参见即时到账批量退款业务错误码。	可空	2010031906272929^80^SUCCESS$jax_chuanhang@alipay.com^2088101003147483^0.01^SUCCESS
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL