Documentation
¶
Index ¶
- Constants
- func Apply(req *ApplyReq) (*applyRes, error)
- func DecodeNotifyCiphertext(notifyCiphertext, apiKey string) (*orderDetail, error)
- func FinishProfitSharing(req *FinishProfitSharingReq) (*finishProfitSharingRes, error)
- func GetApplyStatusByApplymentID(applymentID uint64) (*getApplyStatusRes, error)
- func GetApplyStatusByOutRequestNo(outRequestNo string) (*getApplyStatusRes, error)
- func GetCertificates()
- func MiniProgramPay(req *MiniProgramPayReq) (*miniProgramPayRes, error)
- func ProfitSharing(req *ProfitSharingReq) (*profitSharingRes, error)
- func QueryBalance(subMchID string, accountType AccountType) (*queryBalanceRes, error)
- func QueryEndDayBalance(subMchID string, date string) (*queryEndDayBalanceRes, error)
- func QueryMerchantBalance(accountType AccountType) (*queryMerchantBalanceRes, error)
- func QueryMerchantEndDayBalance(accountType AccountType, date string) (*queryMerchantBalanceRes, error)
- func QueryOrderByOutTradeNo(spMchID, subMchID, outTradeNo string) (*orderDetail, error)
- func QueryOrderByTransactionID(spMchID, subMchID, transactionID string) (*orderDetail, error)
- func QueryProfitSharing(subMchID, transactionID, outOrderNo string) (*queryProfitSharingRes, error)
- func QueryProfitSharingOrderAmounts(transactionID string) (*queryProfitSharingOrderAmountsRes, error)
- func QueryRefundByOutRefundNo(subMchID, outRefundNo string) (*refundDetail, error)
- func QueryRefundByRefundID(subMchID, refundID string) (*refundDetail, error)
- func QueryWithdrawByOutRequestNo(outRequestNo string, subMchID string) (*queryWithdrawRes, error)
- func QueryWithdrawByWithdrawID(withdrawID string, subMchID string) (*queryWithdrawRes, error)
- func Refund(req *RefundReq) (*refundRes, error)
- func Withdraw(req *WithdrawReq) (*withdrawRes, error)
- type AccountBank
- type AccountType
- type ApplyReq
- type ApplymentState
- type BankAccountType
- type Channel
- type ContactType
- type EventType
- type FailReason
- type FinishProfitSharingReq
- type IdDocType
- type MiniProgramPayReq
- type NotifyCode
- type NotifyReq
- type NotifyRes
- type OrganizationType
- type ProfitSharingReq
- type ProfitSharingResult
- type ProfitSharingStatus
- type ReceiverType
- type RefundAccount
- type RefundCiphertext
- type RefundReq
- type RefundStatus
- type SignState
- type TradeState
- type TradeType
- type WithdrawReq
- type WithdrawStatus
Constants ¶
const ( OrganizationTypeMicroStore = OrganizationType("2401") //小微商户,指无营业执照的个人商家。 OrganizationTypePersonSeller = OrganizationType("2500") //个人卖家,指无营业执照,已持续从事电子商务经营活动满6个月,且期间经营收入累计超过20万元的个人商家。(若选择该主体,请在“补充说明”填写相关描述) OrganizationTypeIICH = OrganizationType("4") // 个体工商户(Individual industrial and commercial households),营业执照上的主体类型一般为个体户、个体工商户、个体经营。 OrganizationTypeCompany = OrganizationType("2") //企业,营业执照上的主体类型一般为有限公司、有限责任公司。 OrganizationTypeGovernment = OrganizationType("3") //党政、机关及事业单位,包括国内各级、各类政府机构、事业单位等(如:公安、党团、司法、交通、旅游、工商税务、市政、医疗、教育、学校等机构)。 OrganizationTypeOther = OrganizationType("1708") //其他组织,不属于企业、政府/事业单位的组织机构(如社会团体、民办非企业、基金会),要求机构已办理组织机构代码证。 )
const ( IdDocTypeMainlandIDCard = IdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD") //中国大陆居民-身份证 IdDocTypeOverseaPassport = IdDocType("IDENTIFICATION_TYPE_OVERSEA_PASSPORT") //其他国家或地区居民-护照 IdDocTypeHongKong = IdDocType("IDENTIFICATION_TYPE_HONGKONG") //中国香港居民–来往内地通行证 IdDocTypeMacao = IdDocType("IDENTIFICATION_TYPE_MACAO") //中国澳门居民–来往内地通行证 IdDocTypeTaiwan = IdDocType("IDENTIFICATION_TYPE_TAIWAN") //中国台湾居民–来往大陆通行证 )
const ( BankAccountTypePub = BankAccountType("74") //74-对公账户 BankAccountTypePri = BankAccountType("75") //75-对私账户 )
const ( AccountBankGongShang = AccountBank("工商银行") //工商银行 数字、符号 16|17|18|19 16|19|26|29 AccountBankJiaoTong = AccountBank("交通银行") //交通银行 数字 16|17|18|19|21 8|18|20|21|24|27 AccountBankZhaoShang = AccountBank("招商银行") //招商银行 数字 10|12|15|16 13|15|16|17|18|19|20|21 AccountBankMinSheng = AccountBank("民生银行") //民生银行 数字 12|16 9|15|16|20 AccountBankZhongXin = AccountBank("中信银行") //中信银行 数字 16|19 19 AccountBankPuFa = AccountBank("浦发银行") //浦发银行 数字 12|16 13|14|15|16|17|18|19|20|23 AccountBankXingYe = AccountBank("兴业银行") //兴业银行 数字 16|18 17|18|22|24 AccountBankGuangDa = AccountBank("光大银行") //光大银行 数字 16|17 17|21|22|23|24|25|26|27|28|29|30 AccountBankGuangFa = AccountBank("广发银行") //广发银行 数字 16|18|19 15|17|18|19|20|23|24|25 AccountBankPingAn = AccountBank("平安银行") //平安银行 数字 11|13|14|16|19 13|14|18 AccountBankBeiJing = AccountBank("北京银行") //北京银行 数字 16|13 21|23|28 AccountBankHuaXia = AccountBank("华夏银行") //华夏银行 数字 16 16|17|22 AccountBankNongYe = AccountBank("农业银行") //农业银行 数字 16|18|19 17|19|27 AccountBankJianShe = AccountBank("建设银行") //建设银行 数字 16|17|18|19|20 16|19|20|24|25|26|27 AccountBankYouZheng = AccountBank("邮政储蓄银行") //邮政储蓄银行 数字 14|18|19 16|18|23 AccountBankZhongGuo = AccountBank("中国银行") //中国银行 数字、符号 12|16|18|19 12|18|19 AccountBankNingBo = AccountBank("宁波银行") //宁波银行 数字 16|17|19 16|17|19|23 AccountBankOther = AccountBank("其他银行") //其他银行 数字 30位以内 30位以内 )
const ( ContactTypeLegalPerson = ContactType("65") //65-经营者/法人 ContactTypePersonInCharge = ContactType("66") //66- 负责人。 (负责人:经商户授权办理微信支付业务的人员,授权范围包括但不限于签约,入驻过程需完成账户验证) )
const ( ApplymentStateChecking = ApplymentState("CHECKING") ApplymentStateAccountNeedVerify = ApplymentState("ACCOUNT_NEED_VERIFY") ApplymentStateAuditing = ApplymentState("AUDITING") ApplymentStateRejected = ApplymentState("REJECTED") ApplymentStateNeedSign = ApplymentState("NEED_SIGN") ApplymentStateFinish = ApplymentState("FINISH") ApplymentStateFrozen = ApplymentState("FROZEN") )
const ( SignStateUnsigned = SignState("UNSIGNED") SignStateSigned = SignState("SIGNED") SignStateNotSignable = SignState("NOT_SIGNABLE") )
const ( AccountTypeBasic = AccountType("BASIC") AccountTypeOperation = AccountType("OPERATION") AccountTypeFees = AccountType("FEES") )
const ( WithdrawStatusCreateSuccess = WithdrawStatus("CREATE_SUCCESS") //受理成功 WithdrawStatusSuccess = WithdrawStatus("SUCCESS") //提现成功 WithdrawStatusFail = WithdrawStatus("FAIL") //提现失败 WithdrawStatusRefund = WithdrawStatus("REFUND") //提现退票 WithdrawStatusClose = WithdrawStatus("CLOSE") //关单 WithdrawStatusInit = WithdrawStatus("INIT") //业务单已创建 )
const ( EventTypeRefundSuccess = EventType("REFUND.SUCCESS") //退款成功通知 EventTypeRefundAbnormal = EventType("REFUND.ABNORMAL") //退款异常通知 EventTypeRefundClosed = EventType("REFUND.CLOSED") //退款关闭通知 EventTypeTransactionSuccess = EventType("TRANSACTION.SUCCESS") //支付成功通知 )
const ( TradeTypeJsapi = TradeType("JSAPI") //公众号支付 TradeTypeNative = TradeType("NATIVE") //扫码支付 TradeTypeApp = TradeType("APP") //APP支付 TradeTypeMicroPay = TradeType("MICROPAY") //付款码支付 TradeTypeMWeb = TradeType("MWEB") //H5支付 TradeTypeFacePay = TradeType("FACEPAY") //刷脸支付 )
const ( TradeStateSuccess = TradeState("SUCCESS") //支付成功 TradeStateRefund = TradeState("REFUND") //转入退款 TradeStateNotPay = TradeState("NOTPAY") //未支付 TradeStateClosed = TradeState("CLOSED") //已关闭 TradeStateRevoked = TradeState("REVOKED") //已撤销(付款码支付) TradeStateUserPaying = TradeState("USERPAYING") //用户支付中(付款码支付) TradeStatePayError = TradeState("PAYERROR") //支付失败(其他原因,如银行返回失败) )
const ( NotifySuccessReturnCode = NotifyCode("SUCCESS") NotifySuccessReturnMsg = "OK" NotifyFailReturnCode = NotifyCode("FAIL") )
const ( ReceiverTypeMerchantID = ReceiverType("MERCHANT_ID") //商户 ReceiverTypePersonamOpenID = ReceiverType("PERSONAL_OPENID") //个人 ReceiverTypePersonamSubOpenID = ReceiverType("PERSONAL_SUB_OPENID") //个人sub_openid(由品牌主的APPID转换得到) )
const ( ProfitSharingStatusProcessing = ProfitSharingStatus("PROCESSING") //处理中 ProfitSharingStatusFinished = ProfitSharingStatus("FINISHED") //处理完成 )
const ( FailReasonAccountAbnormal = FailReason("ACCOUNT_ABNORMAL") //分账接收账户异常 FailReasonNoRelation = FailReason("NO_RELATION") // 分账关系已解除 FailReasonReceiverHighRisk = FailReason("RECEIVER_HIGH_RISK") // 高风险接收方 FailReasonReceiverRealNameNotVerified = FailReason("RECEIVER_REAL_NAME_NOT_VERIFIED") //接收方未实名 )
const ( ProfitSharingResultPending = ProfitSharingResult("PENDING") //待分账 ProfitSharingResultSuccess = ProfitSharingResult("SUCCESS") //分账成功 ProfitSharingResultClosed = ProfitSharingResult("CLOSED") //分账失败已关闭 )
const ( RefundAccountPartnerAdvance = RefundAccount("REFUND_SOURCE_PARTNER_ADVANCE") //电商平台垫付,需要向微信支付申请开通 RefundAccountSubMerchant = RefundAccount("REFUND_SOURCE_SUB_MERCHANT") // 二级商户,默认值 )
const ( RefundStatusSuccess = RefundStatus("SUCCESS") //退款成功 RefundStatusClose = RefundStatus("CLOSE") //退款关闭 RefundStatusAbnormal = RefundStatus("ABNORMAL") //退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往【服务商平台—>交易中心】,手动处理此笔退款 )
const ( ChannelBalance = Channel("BALANCE") //退回到余额 ChannelOtherBalance = Channel("OTHER_BALANCE") //原账户异常退到其他余额账户 ChannelOtherBankcard = Channel("OTHER_BANKCARD") //原银行卡异常退到其他银行卡 )
Variables ¶
This section is empty.
Functions ¶
func DecodeNotifyCiphertext ¶
func FinishProfitSharing ¶
func FinishProfitSharing(req *FinishProfitSharingReq) (*finishProfitSharingRes, error)
func MiniProgramPay ¶
func MiniProgramPay(req *MiniProgramPayReq) (*miniProgramPayRes, error)
func ProfitSharing ¶
func ProfitSharing(req *ProfitSharingReq) (*profitSharingRes, error)
func QueryBalance ¶
func QueryBalance(subMchID string, accountType AccountType) (*queryBalanceRes, error)
func QueryEndDayBalance ¶
date 指定查询商户日终余额的日期,可查询90天内的日终余额。示例值:2019-08-17
func QueryMerchantBalance ¶
func QueryMerchantBalance(accountType AccountType) (*queryMerchantBalanceRes, error)
func QueryMerchantEndDayBalance ¶
func QueryMerchantEndDayBalance(accountType AccountType, date string) (*queryMerchantBalanceRes, error)
==================== 查询电商平台账户日终余额 ==================== date 指定查询商户日终余额的日期,可查询90天内的日终余额。示例值:2019-08-17
func QueryOrderByOutTradeNo ¶
==================== 查询订单(商户订单号查询) ====================
func QueryOrderByTransactionID ¶
==================== 查询订单(微信支付订单号查询) ====================
func QueryProfitSharing ¶
func QueryRefundByOutRefundNo ¶
==================== 查询退款(商户退款单号查询) ====================
func QueryRefundByRefundID ¶
==================== 查询退款(微信支付退款单号查询) ====================
func QueryWithdrawByOutRequestNo ¶
==================== 二级商户查询提现状态(商户提现单号查询) ====================
func Withdraw ¶
func Withdraw(req *WithdrawReq) (*withdrawRes, error)
Types ¶
type AccountBank ¶
type AccountBank string
type AccountType ¶
type AccountType string
type ApplyReq ¶
type ApplyReq struct {
OutRequestNo string `json:"out_request_no"`
/* 必填,业务申请编号,长度 1~124
1、服务商自定义的商户唯一编号。
2、每个编号对应一个申请单,每个申请单审核通过后会生成一个微信支付商户号。
3、若申请单被驳回,可填写相同的“业务申请编号”,即可覆盖修改原申请单信息 。
示例值:APPLYMENT_00000000001
*/
OrganizationType OrganizationType `json:"organization_type"`
/* 必填,主体类型,长度 1~4
非小微的主体类型需与营业执照/登记证书上一致,可参考选择主体指引,枚举值如下。
2401:小微商户,指无营业执照的个人商家。
2500:个人卖家,指无营业执照,已持续从事电子商务经营活动满6个月,且期间经营收入累计超过20万元的个人商家。(若选择该主体,请在“补充说明”填写相关描述)
4:个体工商户,营业执照上的主体类型一般为个体户、个体工商户、个体经营。
2:企业,营业执照上的主体类型一般为有限公司、有限责任公司。
3:党政、机关及事业单位,包括国内各级、各类政府机构、事业单位等(如:公安、党团、司法、交通、旅游、工商税务、市政、医疗、教育、学校等机构)。
1708:其他组织,不属于企业、政府/事业单位的组织机构(如社会团体、民办非企业、基金会),要求机构已办理组织机构代码证。
示例值:2401
*/
BusinessLicenseInfo businessLicenseInfo `json:"business_license_info"`
/* 条件选填,营业执照/登记证书信息
1、主体为“小微/个人卖家”时,不填。
2、主体为“个体工商户/企业”时,请上传营业执照。
3、主体为“党政、机关及事业单位/其他组织”时,请上传登记证书。
*/
OrganizationCertInfo organizationCertInfo `json:"organization_cert_info"`
/* 条件选填,组织机构代码证信息
主体为企业/党政、机关及事业单位/其他组织,且证件号码不是18位时必填。
注:
若营业执照未三证合一 ,该参数必传;
若营业执照三证合一 ,该参数可不传。
*/
IdDocType IdDocType `json:"id_doc_type"`
/* 否,经营者/法人证件类型,长度1~64
1、主体为“小微/个人卖家”,可选择:身份证。
2、主体为“个体户/企业/党政、机关及事业单位/其他组织”,可选择:以下任一证件类型。
3、若没有填写,系统默认选择:身份证。
枚举值:
IDENTIFICATION_TYPE_MAINLAND_IDCARD:中国大陆居民-身份证
IDENTIFICATION_TYPE_OVERSEA_PASSPORT:其他国家或地区居民-护照
IDENTIFICATION_TYPE_HONGKONG:中国香港居民–来往内地通行证
IDENTIFICATION_TYPE_MACAO:中国澳门居民–来往内地通行证
IDENTIFICATION_TYPE_TAIWAN:中国台湾居民–来往大陆通行证
示例值:IDENTIFICATION_TYPE_MACAO
*/
IdCardInfo idCardInfo `json:"id_card_info"`
/* 条件选填,经营者/法人身份证信息
请填写经营者/法人的身份证信息
证件类型为“身份证”时填写。
*/
IdDocInfo idDocInfo `json:"id_doc_info"`
/* 条件选填,经营者/法人其他类型证件信息
证件类型为“来往内地通行证、来往大陆通行证、护照”时填写。
*/
NeedAccountInfo bool `json:"need_account_info"`
/* 是 是否填写结算银行账户
1、可根据实际情况,填写“true”或“false”。
1)若为“true”,则需填写结算银行账户。
2)若为“false”,则无需填写结算银行账户。
2、若入驻时未填写结算银行账户,则需入驻后调用修改结算账户API补充信息,才能发起提现。
3、当超级管理员类型为负责人时,该字段只能传true,即结算银行账户必填
示例值:true
*/
AccountInfo accountInfo `json:"account_info"`
/* 条件选填 结算银行账户
若"是否填写结算账户信息"填写为“true”, 则必填,填写为“false”不填 。
*/
ContactInfo contactInfo `json:"contact_info"`
/* 是 超级管理员信息
请填写店铺的超级管理员信息。
超级管理员需在开户后进行签约,并可接收日常重要管理信息和进行资金操作,请确定其为商户法定代表人或负责人。
*/
SalesSceneInfo salesSceneInfo `json:"sales_scene_info"` // 是 店铺信息 请填写店铺信息
MerchantShortname string `json:"merchant_shortname"`
/* 是 商户简称 [1,64]
UTF-8格式,中文占3个字节,即最多21个汉字长度。将在支付完成页向买家展示,需与商家的实际售卖商品相符 。
示例值:腾讯
*/
Qualifications string `json:"qualifications"`
/* 否 特殊资质 [1,1024]
1、根据商户经营业务要求提供相关资质,详情查看《行业对应特殊资质》。
2、请提供为“申请商家主体”所属的特殊资质,可授权使用总公司/分公司的特殊资 质;
3、最多可上传5张照片,请填写通过图片上传接口预先上传图片生成好的MediaID 。
示例值:[\"jTpGmxUX3FBWVQ5NJInE4d2I6_H7I4\"]
*/
BusinessAdditionPics string `json:"business_addition_pics"`
/* 否 补充材料 [1,1024]
根据实际审核情况,额外要求提供。最多可上传5张照片,请填写通过图片上传接口预先上传图片生成好的MediaID 。
示例值:[\"jTpGmg05InE4d2I6_H7I4\"]
*/
BusinessAdditionDesc string `json:"business_addition_desc"`
}
type BankAccountType ¶
type BankAccountType string
type ContactType ¶
type ContactType string
type FailReason ¶
type FailReason string
type FinishProfitSharingReq ¶
type FinishProfitSharingReq struct {
SubMchID string `json:"sub_mchid"` //二级商户号 [1,32] 是 分账出资的电商平台二级商户,填写微信支付分配的商户号。示例值:1900000109
TransactionID string `json:"transaction_id"` //微信订单号 [1,32] 是 微信支付订单号。 示例值: 4208450740201411110007820472
OutOrderNo string `json:"out_order_no"` //商户分账单号 [1,64] 是 商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分
Description string `json:"description"` //分账描述 [1,80] 是 分账的原因描述,分账账单中需要体现。示例值:分账完结
}
==================== 完结分账 ====================
type MiniProgramPayReq ¶
type MiniProgramPayReq struct {
SpAppID string `json:"sp_appid"` // 是,服务商应用ID,[1,32],服务商申请的公众号或移动应用appid。示例值:wx8888888888888888
SpMchID string `json:"sp_mchid"` // 是,服务商户号,[1,32],由微信支付生成并下发。示例值:1230000109
SubAppID string `json:"sub_appid"`
/* 否,二级商户应用ID,[1,32],
二级商户申请的公众号或移动应用appid。若sub_openid有传的情况下,sub_appid必填,且sub_appid需与sub_openid对应。
示例值:wxd678efh567hg6999
*/
SubMchID string `json:"sub_mchid"` // 是,二级商户号,[1,32],二级商户的商户号,由微信支付生成并下发。示例值:1900000109
Description string `json:"description"` // 是,商品详细描述,[1,127],商品描述。示例值:Image形象店-深圳腾大-QQ公仔
OutTradeNo string `json:"out_trade_no"`
/* 是,商户系统内部订单号,[6,32]
只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
特殊规则:最小字符长度为6。
示例值:1217752501201407033233368018
*/
TimeExpire string `json:"time_expire"`
/* 否,交易结束时间,[1,64]
订单失效时间,遵循rfc3339标准格式,
格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,
T出现在字符串中,表示time元素的开头,
HH:mm:ss表示时分秒,
TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
示例值:2018-06-08T10:34:56+08:00
*/
Attach string `json:"attach"` // 否,附加数据,[1,128],在查询API和支付通知中原样返回,可作为自定义参数使用。示例值:自定义数据
NotifyUrl string `json:"notify_url"`
/* 是,通知地址,[1,256]
通知URL必须为直接可访问的URL,不允许携带查询串。
格式:URL
示例值:https://www.weixin.qq.com/wxpay/pay.php
*/
GoodsTag string `json:"goods_tag"` // 否,订单优惠标记,[1,32],订单优惠标记。示例值:WXG
SettleInfo settleInfo `json:"settle_info"` // 否,结算信息
Amount amount `json:"amount"` // 是,订单金额信息
Payer payer `json:"payer"` // 是,支付者信息
Detail detail `json:"detail"` // 否,优惠功能
SceneInfo sceneInfo `json:"scene_info"` // 否,支付场景描述
}
==================== 小程序下单 ====================
type NotifyCode ¶
type NotifyCode string
type NotifyReq ¶
type NotifyReq struct {
ID string `json:"id"` // 通知ID [1,36] 是 通知的唯一ID。示例值:EV-2018022511223320873
CreateTime string `json:"create_time"`
/* 通知创建时间 [1,16] 是
通知创建的时间,遵循rfc3339标准格式,
格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,
T出现在字符串中,表示time元素的开头,
HH:mm:ss.表示时分秒,
TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
例如:2015-05-20T13:29:35+08:00表示北京时间2015年05月20日13点29分35秒。
示例值:2015-05-20T13:29:35+08:00
*/
EventType EventType `json:"event_type"`
/* 通知类型 [1,32] 是 通知的类型,
REFUND.SUCCESS:退款成功通知
REFUND.ABNORMAL:退款异常通知
REFUND.CLOSED:退款关闭通知
TRANSACTION.SUCCESS:支付成功通知
示例值:TRANSACTION.SUCCESS
*/
ResourceType string `json:"resource_type"` // 通知数据类型 [1,32] 是 通知的资源数据类型,支付成功通知为encrypt-resource。 示例值:encrypt-resource
Resource resource `json:"resource"` // 通知数据 是 通知资源数据,json格式,见示例
Summary string `json:"summary"` // 回调摘要 [1,64] 是 回调摘要。示例值:支付成功
}
type NotifyRes ¶
type NotifyRes struct {
Code NotifyCode `json:"code"`
Message string `json:"message"`
}
type ProfitSharingReq ¶
type ProfitSharingReq struct {
AppID string `json:"appid"` //公众账号ID [1,32] 是 body 电商平台的appid(公众号APPID或者小程序APPID)。示例值:wx8888888888888888
SubMchID string `json:"sub_mchid"` //二级商户号 [1,32] 是 body 分账出资的电商平台二级商户,填写微信支付分配的商户号。 示例值:1900000109
TransactionID string `json:"transaction_id"` //微信订单号 [1,32] 是 body 微信支付订单号。示例值: 4208450740201411110007820472
OutOrderNo string `json:"out_order_no"` //商户分账单号 [1,64] 是 body 商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号),同一分账单号多次请求等同一次。示例值:P20150806125346
Receivers []receiver `json:"receivers"` //分账接收方列表 是 body 分账接收方列表,支持设置出资商户作为分账接收方,单次分账最多可有5个分账接收方
Finish bool `json:"finish"`
}
==================== 分账 ====================
type ProfitSharingResult ¶
type ProfitSharingResult string
type ProfitSharingStatus ¶
type ProfitSharingStatus string
type ReceiverType ¶
type ReceiverType string
type RefundCiphertext ¶
type RefundCiphertext struct {
SpMchID string `json:"sp_mchid"` //服务商户号 [1,32] 是 服务商户号,由微信支付生成并下发。 示例值:1230000109
SubMchID string `json:"sub_mchid"` //二级商户号 [1,32] 是 二级商户的商户号,由微信支付生成并下发。 示例值:1900000109
OutTradeNo string `json:"out_trade_no"`
/*商户订单号 [1,32] 是 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。
特殊规则:最小字符长度为6
示例值:1217752501201407033233368018
*/
TransactionID string `json:"transaction_id"` //微信支付订单号 [1,32] 否 微信支付系统生成的订单号。 示例值:1217752501201407033233368018
RefundID string `json:"refund_id"` //微信退款单号 [1,32] 是 微信支付退款订单号。示例值:1217752501201407033233368018
OutRefundNo string `json:"out_refund_no"` //商户退款单号 [1,64] 是 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔。示例值:1217752501201407033233368018
RefundStatus RefundStatus `json:"refund_status"` /*退款状态 [1,16] 是
退款状态,枚举值:
SUCCESS:退款成功
CLOSE:退款关闭
ABNORMAL:退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往【服务商平台—>交易中心】,手动处理此笔退款
示例值:SUCCESS
*/
SuccessTime string `json:"success_time"`
/*退款成功时间 [1,64] 否
1、退款成功时间,遵循rfc3339标准格式,
格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,
YYYY-MM-DD表示年月日,
T出现在字符串中,
表示time元素的开头,
HH:mm:ss表示时分秒,
TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
2、当退款状态为退款成功时返回此参数。
示例值:2018-06-08T10:34:56+08:00
*/
UserReceivedAccount string `json:"user_received_account"`
/*退款入账账户 [1,64] 是
取当前退款单的退款入账方。
退回银行卡:{银行名称}{卡类型}{卡尾号}
退回支付用户零钱: 支付用户零钱
退还商户: 商户基本账户、商户结算银行账户
退回支付用户零钱通:支付用户零钱通
示例值:招商银行信用卡0403
*/
Amount refundAmount `json:"amount"` //订单金额 是 订单金额信息
RefundAccount RefundAccount `json:"refund_account"`
/*退款出资商户 [1, 32] 否 body电商平台垫资退款专用参数。
需先确认已开通此功能后,才能使用。若需要开通,请联系微信支付客服。
枚举值:
REFUND_SOURCE_PARTNER_ADVANCE : 电商平台垫付,需要向微信支付申请开通
REFUND_SOURCE_SUB_MERCHANT : 二级商户,默认值
注意:
1、电商平台垫资退款专用参数,需先确认已开通此功能后,才能使用。 若需要开通,请联系微信支付客服。
2、若传入REFUND_SOURCE_PARTNER_ADVANCE,代表使用垫付退款功能。实际出款账户为开通该功能时商户指定的出款账户,实际以退款申请受理结果或查单结果为准。
示例值:REFUND_SOURCE_SUB_MERCHANT
*/
FundsAccount string `json:"funds_account"`
}
type RefundReq ¶
type RefundReq struct {
SpAppID string `json:"sp_appid"` //服务商应用ID[1,32] 是 服务商申请的公众号或移动应用appid。示例值:wx8888888888888888
SubAppID string `json:"sub_appid"` //二级商户应用ID [1,32] 否 二级商户申请的公众号或移动应用appid。示例值:wxd678efh567hg6999
SubMchID string `json:"sub_mchid"` //二级商户号 [1,32] 是 二级商户的商户号,由微信支付生成并下发。 示例值:1900000109
OutTradeNo string `json:"out_trade_no"`
/*商户订单号 [1,32] 是 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。
特殊规则:最小字符长度为6
示例值:1217752501201407033233368018
*/
TransactionID string `json:"transaction_id"` //微信支付订单号 [1,32] 否 微信支付系统生成的订单号。 示例值:1217752501201407033233368018
OutRefundNo string //商户退款单号 [1,64] 是 body 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@,同一退款单号多次请求只退一笔。示例值:1217752501201407033233368018
Reason string `json:"reason"`
/*退款原因 [1,80] 否 body 若商户传入,会在下发给用户的退款消息中体现退款原因。
注意:若订单退款金额≤1元,且属于部分退款,则不会在退款消息中体现退款原因
示例值:商品已售完
*/
Amount refundAmount `json:"amount"` //订单金额 是 订单金额信息
NotifyUrl string `json:"notify_url"` //退款结果回调url [1,256] 否 body 异步接收微信支付退款结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 如果参数中传了notify_url,则商户平台上配置的回调地址将不会生效,优先回调当前传的地址。示例值:https://weixin.qq.com
RefundAccount RefundAccount `json:"refund_account"`
/*退款出资商户 [1, 32] 否 body电商平台垫资退款专用参数。
需先确认已开通此功能后,才能使用。若需要开通,请联系微信支付客服。
枚举值:
REFUND_SOURCE_PARTNER_ADVANCE : 电商平台垫付,需要向微信支付申请开通
REFUND_SOURCE_SUB_MERCHANT : 二级商户,默认值
注意:
1、电商平台垫资退款专用参数,需先确认已开通此功能后,才能使用。 若需要开通,请联系微信支付客服。
2、若传入REFUND_SOURCE_PARTNER_ADVANCE,代表使用垫付退款功能。实际出款账户为开通该功能时商户指定的出款账户,实际以退款申请受理结果或查单结果为准。
示例值:REFUND_SOURCE_SUB_MERCHANT
*/
FundsAccount string `json:"funds_account"`
}
type TradeState ¶
type TradeState string
type WithdrawReq ¶
type WithdrawReq struct {
SubMchID string `json:"sub_mchid"` //二级商户号 [1,32] 是 电商平台二级商户号,由微信支付生成并下发。示例值: 1900000109
OutRequestNo string `json:"out_request_no"` //商户提现单号 [1, 32] 是 body商户提现单号,由商户自定义生成,必须是字母数字。示例值:20190611222222222200000000012122
Amount int `json:"amount"` //提现金额 是 body单位:分,金额不能超过8亿元。示例值:1
Remark string `json:"remark"` //提现备注 [1, 56] 否 body商户对提现单的备注,商户自定义字段。示例值:交易提现
BankMemo string `json:"bank_memo"` //银行附言 [1, 32] 否 body展示在收款银行系统中的附言,数字、字母最长32个汉字(能否成功展示依赖银行系统支持)。示例值:微信支付提现
AccountType AccountType `json:"account_type"`
}
==================== 二级商户余额提现 ====================
type WithdrawStatus ¶
type WithdrawStatus string
==================== 二级商户查询提现状态(微信支付提现单号查询) ====================