Documentation
¶
Index ¶
- Variables
- func CheckPaymentFrom(args *ArgsCheckPaymentFrom) (err error)
- func CheckTakeFrom(args *ArgsCheckTakeFrom) (err error)
- func GetPayFrom(payChannel CoreSQLFrom.FieldsFrom) string
- func GetTip(payID int64) string
- func Init()
- func UpdateStatusExpire(args *ArgsUpdateStatusExpire) (errCode string, err error)
- func UpdateStatusFailed(args *ArgsUpdateStatusFailed) (errCode string, err error)
- func UpdateStatusFinish(args *ArgsUpdateStatusFinish) (errCode string, err error)
- func UpdateStatusRefund(args *ArgsUpdateStatusRefund) (errCode string, err error)
- func UpdateStatusRefundAudit(args *ArgsUpdateStatusRefundAudit) (errCode string, err error)
- func UpdateStatusRefundFailed(args *ArgsUpdateStatusRefundFailed) (errCode string, err error)
- func UpdateStatusRefundFinish(args *ArgsUpdateStatusRefundFinish) (errCode string, err error)
- func UpdateStatusRemove(args *ArgsUpdateStatusRemove) (errCode string, err error)
- type ArgsCheckFinishByID
- type ArgsCheckFinishByIDs
- type ArgsCheckPaymentFrom
- type ArgsCheckTakeFrom
- type ArgsCreate
- type ArgsGetID
- type ArgsGetList
- type ArgsGetOne
- type ArgsUpdateStatusClient
- type ArgsUpdateStatusExpire
- type ArgsUpdateStatusFailed
- type ArgsUpdateStatusFinish
- type ArgsUpdateStatusRefund
- type ArgsUpdateStatusRefundAudit
- type ArgsUpdateStatusRefundFailed
- type ArgsUpdateStatusRefundFinish
- type ArgsUpdateStatusRemove
- type DataCheckFinish
- type FieldsPayType
- func Create(args *ArgsCreate) (data FieldsPayType, errCode string, err error)
- func CreateQuickPay(args *ArgsCreate) (payData FieldsPayType, errCode string, err error)
- func CreateQuickPayAndConfirm(args *ArgsCreate) (payData FieldsPayType, errCode string, err error)
- func GetID(args *ArgsGetID) (data FieldsPayType, err error)
- func GetList(args *ArgsGetList) (dataList []FieldsPayType, dataCount int64, err error)
- func GetOne(args *ArgsGetOne) (data FieldsPayType, err error)
- func NeedCommissionCreate(args *ArgsCreate) (data FieldsPayType, errCode string, err error)
- func UpdateStatusClient(args *ArgsUpdateStatusClient) (data FieldsPayType, result interface{}, needResult bool, errCode string, ...)
Constants ¶
This section is empty.
Variables ¶
var ( //OpenSub 是否启动订阅 OpenSub = false )
Functions ¶
func CheckPaymentFrom ¶
func CheckPaymentFrom(args *ArgsCheckPaymentFrom) (err error)
CheckPaymentFrom 检查支付创建来源正确性
func CheckTakeFrom ¶
func CheckTakeFrom(args *ArgsCheckTakeFrom) (err error)
CheckTakeFrom 检查支付请求的渠道是否符合条件
func GetPayFrom ¶
func GetPayFrom(payChannel CoreSQLFrom.FieldsFrom) string
GetPayFrom 根据渠道来源,获取支付渠道同一化字符串
func UpdateStatusExpire ¶
func UpdateStatusExpire(args *ArgsUpdateStatusExpire) (errCode string, err error)
UpdateStatusExpire 交易过期
func UpdateStatusFailed ¶
func UpdateStatusFailed(args *ArgsUpdateStatusFailed) (errCode string, err error)
UpdateStatusFailed 交易失败处理
func UpdateStatusFinish ¶
func UpdateStatusFinish(args *ArgsUpdateStatusFinish) (errCode string, err error)
UpdateStatusFinish 服务端确定支付完成 用于内部监测模块和外部业务确定
func UpdateStatusRefund ¶
func UpdateStatusRefund(args *ArgsUpdateStatusRefund) (errCode string, err error)
UpdateStatusRefund 发起退款
func UpdateStatusRefundAudit ¶
func UpdateStatusRefundAudit(args *ArgsUpdateStatusRefundAudit) (errCode string, err error)
UpdateStatusRefundAudit 退款审核通过
func UpdateStatusRefundFailed ¶
func UpdateStatusRefundFailed(args *ArgsUpdateStatusRefundFailed) (errCode string, err error)
UpdateStatusRefundFailed 退款交易失败
func UpdateStatusRefundFinish ¶
func UpdateStatusRefundFinish(args *ArgsUpdateStatusRefundFinish) (errCode string, err error)
UpdateStatusRefundFinish 退款确认完成
func UpdateStatusRemove ¶
func UpdateStatusRemove(args *ArgsUpdateStatusRemove) (errCode string, err error)
UpdateStatusRemove 销毁支付
Types ¶
type ArgsCheckFinishByID ¶
type ArgsCheckFinishByID struct {
//ID
ID int64 `json:"id" check:"id"`
}
type ArgsCheckFinishByIDs ¶
type ArgsCheckFinishByIDs struct {
//一组ID
IDs []int64 `json:"ids"`
}
ArgsCheckFinishByIDs 检查一组是否完成?参数
type ArgsCheckPaymentFrom ¶
type ArgsCheckPaymentFrom struct {
//支付ID
ID int64 `db:"id" json:"id" check:"id"`
//收款人或收款渠道信息
TakeFrom CoreSQLFrom.FieldsFrom `db:"take_from" json:"takeFrom"`
}
ArgsCheckPaymentFrom 检查支付创建来源正确性参数
type ArgsCheckTakeFrom ¶
type ArgsCheckTakeFrom struct {
//支付ID
ID int64 `db:"id" json:"id" check:"id"`
//收款人或收款渠道信息
TakeFrom CoreSQLFrom.FieldsFrom `db:"take_from" json:"takeFrom"`
}
ArgsCheckTakeFrom 检查支付请求的渠道是否符合条件参数
type ArgsCreate ¶
type ArgsCreate struct {
//操作人
// 发起交易的实际人员,可能是后台工作人员为客户发起的交易请求
CreateInfo CoreSQLFrom.FieldsFrom `db:"create_info" json:"createInfo"`
//付款人来源
// system: user / org
// id: 用户ID或组织ID
// mark: 用户OpenID数据
PaymentCreate CoreSQLFrom.FieldsFrom `db:"payment_create" json:"paymentCreate"`
//支付方式
// system: cash 现金 ; deposit 存储模块 ; weixin 微信支付 ; alipay 支付宝
// mark: 子渠道信息,例如 weixin 的wxx/merchant
PaymentChannel CoreSQLFrom.FieldsFrom `db:"payment_channel" json:"paymentChannel"`
//支付方的来源
// 留空则代表平台方,否则为商户或加盟商
// system: 留空则为平台;org
// id: 组织ID
PaymentFrom CoreSQLFrom.FieldsFrom `db:"payment_from" json:"paymentFrom"`
//收款人来源
// system: user / org
// id: 用户ID或组织ID
// mark: 用户OpenID数据
TakeCreate CoreSQLFrom.FieldsFrom `db:"take_create" json:"takeCreate"`
//收款渠道
// system: cash 现金 ; deposit 存储模块 ; weixin 微信支付 ; alipay 支付宝
// mark: 子渠道信息,例如 weixin 的wxx/merchant
TakeChannel CoreSQLFrom.FieldsFrom `db:"take_channel" json:"takeChannel"`
//收款方来源
// 留空则代表平台方,否则为商户或加盟商
// system: 留空则为平台;org
// id: 组织ID
TakeFrom CoreSQLFrom.FieldsFrom `db:"take_from" json:"takeFrom"`
//备注
Des string `db:"des" json:"des" check:"des" min:"1" max:"600" empty:"true"`
//交易过期时间
// 如果提交空的时间,将直接按照过期处理
ExpireAt time.Time `db:"expire_at" json:"expireAt" check:"isoTime"`
//货币
// eg: 86
Currency int `db:"currency" json:"currency" check:"currency"`
//价格
Price int64 `db:"price" json:"price" check:"price"`
//扩展信息
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
ArgsCreate 发起支付请求参数
type ArgsGetID ¶
type ArgsGetID struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//是否为敏感模式
// 敏感模式下将隐藏关键内容
IsSecret bool `json:"isSecret"`
}
ArgsGetID 通过ID查询数据参数
type ArgsGetList ¶
type ArgsGetList struct {
//分页
Pages CoreSQLPages.ArgsDataList
//状态 必须填写
// 0 wait 客户端发起付款,并正在支付中
// 1 client 客户端完成支付,等待服务端验证
// 2 failed 交易失败,服务端主动取消交易或其他原因取消交易
// 3 finish 交易成功
// 4 remove 交易销毁
// 5 expire 交易过期
// 6 refund 发起退款申请
// 7 refundAudit 退款审核通过,等待处理中
// 8 refundFailed 退款失败
// 9 refundFinish 退款完成
Status []int
//付款人来源
PaymentCreate CoreSQLFrom.FieldsFrom `db:"payment_create" json:"paymentCreate"`
//支付方式
// system: cash 现金 ; deposit 存储模块 ; weixin 微信支付 ; alipay 支付宝
PaymentChannel CoreSQLFrom.FieldsFrom `db:"payment_channel" json:"paymentChannel"`
//支付方的来源
// 留空则代表平台方,否则为商户或加盟商
PaymentFrom CoreSQLFrom.FieldsFrom `db:"payment_from" json:"paymentFrom"`
//收款人来源
TakeCreate CoreSQLFrom.FieldsFrom `db:"take_create" json:"takeCreate"`
//收款渠道
// system: cash 现金 ; deposit 存储模块 ; weixin 微信支付 ; alipay 支付宝
TakeChannel CoreSQLFrom.FieldsFrom `db:"take_channel" json:"takeChannel"`
//收款方来源
// 留空则代表平台方,否则为商户或加盟商
TakeFrom CoreSQLFrom.FieldsFrom `db:"take_from" json:"takeFrom"`
//操作人
CreateInfo CoreSQLFrom.FieldsFrom `db:"create_info" json:"createInfo"`
//最小金额
// -1则跳过
MinPrice int64
//最大金额
// -1则跳过
MaxPrice int64
//查询时间范围
TimeBetween CoreSQLTime2.FieldsCoreTime `db:"time_between" json:"timeBetween"`
//是否需要退款相关参数
//是否发起了退款
//退款发起的金额
//扩展数据查询
Params CoreSQLConfig.FieldsConfigType
//支付失败后的代码
// 用于系统识别错误类型
FailedCode string `db:"failed_code" json:"failedCode"`
//是否为历史
IsHistory bool
//搜索
Search string
}
ArgsGetList 获取请求列表参数
type ArgsGetOne ¶
type ArgsGetOne struct {
//ID
ID int64 `json:"id" check:"id"`
//key
// key只能获取当前列表内数据,不会从历史表调用
Key string `json:"key"`
//是否为敏感模式
// 敏感模式下将隐藏关键内容
IsSecret bool `json:"isSecret"`
}
ArgsGetOne 通过任意一个数据查询参数
type ArgsUpdateStatusClient ¶
type ArgsUpdateStatusClient struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//Key
Key string
//补充参数
Params []CoreSQLConfig.FieldsConfigType
//操作IP
IP string `json:"ip"`
}
ArgsUpdateStatusClient 客户端确认付款参数
type ArgsUpdateStatusExpire ¶
type ArgsUpdateStatusExpire struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//key
Key string
//补充扩展
Params []CoreSQLConfig.FieldsConfigType
}
ArgsUpdateStatusExpire 交易过期参数
type ArgsUpdateStatusFailed ¶
type ArgsUpdateStatusFailed struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//key
Key string
//失败原因
FailedCode string
FailedMessage string
//补充扩展
Params []CoreSQLConfig.FieldsConfigType
}
ArgsUpdateStatusFailed 交易失败处理参数
type ArgsUpdateStatusFinish ¶
type ArgsUpdateStatusFinish struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
//ID
ID int64 `json:"id"`
//key
Key string `json:"key"`
//补充扩展
Params []CoreSQLConfig.FieldsConfigType `json:"params"`
}
ArgsUpdateStatusFinish 服务端确定支付完成参数
type ArgsUpdateStatusRefund ¶
type ArgsUpdateStatusRefund struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
//ID
ID int64 `json:"id" check:"id" empty:"true"`
//key
Key string `json:"key" check:"mark" empty:"true"`
//补充扩展
Params []CoreSQLConfig.FieldsConfigType `json:"params"`
//退款金额
RefundPrice int64 `json:"refundPrice" check:"price"`
//备注
Des string `json:"des" check:"des" min:"1" max:"600" empty:"true"`
}
ArgsUpdateStatusRefund 发起退款参数
type ArgsUpdateStatusRefundAudit ¶
type ArgsUpdateStatusRefundAudit struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//key
Key string
//补充扩展
Params []CoreSQLConfig.FieldsConfigType
//退款金额
RefundPrice int64
//备注
Des string
}
ArgsUpdateStatusRefundAudit 退款审核通过参数
type ArgsUpdateStatusRefundFailed ¶
type ArgsUpdateStatusRefundFailed struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//key
Key string
//补充扩展
Params []CoreSQLConfig.FieldsConfigType
}
ArgsUpdateStatusRefundFailed 退款交易失败参数
type ArgsUpdateStatusRefundFinish ¶
type ArgsUpdateStatusRefundFinish struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//key
Key string
//补充扩展
Params []CoreSQLConfig.FieldsConfigType
}
ArgsUpdateStatusRefundFinish 退款确认完成参数
type ArgsUpdateStatusRemove ¶
type ArgsUpdateStatusRemove struct {
//操作人
CreateInfo CoreSQLFrom.FieldsFrom
//ID
ID int64
//key
Key string
//补充扩展
Params []CoreSQLConfig.FieldsConfigType
}
ArgsUpdateStatusRemove 销毁支付参数
type DataCheckFinish ¶
type DataCheckFinish struct {
//ID
ID int64 `db:"id" json:"id" check:"ids"`
//当前状态
Status int `db:"status" json:"status"`
//是否完成
IsFinish bool `db:"is_finish" json:"isFinish"`
//失败代码
FailedCode string `db:"failed_code" json:"failedCode"`
//失败消息
FailedMessage string `db:"failed_message" son:"failedMessage"`
}
DataCheckFinish 检查一组是否完成?数据
func CheckFinishByID ¶
func CheckFinishByID(args *ArgsCheckFinishByID) (data DataCheckFinish, err error)
func CheckFinishByIDs ¶
func CheckFinishByIDs(args *ArgsCheckFinishByIDs) (dataList []DataCheckFinish, err error)
CheckFinishByIDs 检查一组是否完成?
type FieldsPayType ¶
type FieldsPayType struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//交易过期时间
ExpireAt time.Time `db:"expire_at" json:"expireAt"`
//交易短key
// 在历史表中,该值可能发生重复,请勿以该值作为最终唯一判断
// 用于微信、支付宝等接口对接时,采用的短Key处理机制
Key string `db:"key" json:"key"`
//最终状态
// 0 wait 客户端发起付款,并正在支付中
// 1 client 客户端完成支付,等待服务端验证
// 2 failed 交易失败,服务端主动取消交易或其他原因取消交易
// 3 finish 交易成功
// 4 remove 交易销毁
// 5 expire 交易过期
// 6 refund 发起退款申请
// 7 refundAudit 退款审核通过,等待处理中
// 8 refundFailed 退款失败
// 9 refundFinish 退款完成
Status int `db:"status" json:"status"`
//交易货币类型
// 采用CoreCurrency匹配
// 86 CNY
Currency int `db:"currency" json:"currency"`
//交易金额
Price int64 `db:"price" json:"price"`
//退款的金额
// 该金额为实际记录、发起的请求金额,累计不能超出总金额
RefundPrice int64 `db:"refund_price" json:"refundPrice"`
//是否发送退款请求
RefundSend bool `db:"refund_send" json:"refundSend"`
//付款人来源
// system: user / org
// id: 用户ID或组织ID
// mark: 用户OpenID数据
PaymentCreate CoreSQLFrom.FieldsFrom `db:"payment_create" json:"paymentCreate"`
//支付方式
// system: cash 现金 ; deposit 存储模块 ; weixin 微信支付 ; alipay 支付宝 ; paypal 国际信用卡支付 ; company_returned 公司赊账付款
// mark: 子渠道信息,例如 weixin 的wxx/merchant
// company_returned.id 对应公司ID
PaymentChannel CoreSQLFrom.FieldsFrom `db:"payment_channel" json:"paymentChannel"`
//支付方的来源
// 留空则代表平台方,否则为商户或加盟商
// system: 留空则为平台;org
// id: 组织ID
PaymentFrom CoreSQLFrom.FieldsFrom `db:"payment_from" json:"paymentFrom"`
//收款人来源
// system: user / org
// id: 用户ID或组织ID
// mark: 用户OpenID数据
TakeCreate CoreSQLFrom.FieldsFrom `db:"take_create" json:"takeCreate"`
//收款渠道
// system: cash 现金 ; deposit 存储模块 ; weixin 微信支付 ; alipay 支付宝
// mark: 子渠道信息,例如 weixin 的wxx/merchant
TakeChannel CoreSQLFrom.FieldsFrom `db:"take_channel" json:"takeChannel"`
//收款方来源
// 留空则代表平台方,否则为商户或加盟商
// system: 留空则为平台;org
// id: 组织ID
TakeFrom CoreSQLFrom.FieldsFrom `db:"take_from" json:"takeFrom"`
//操作人
// 发起交易的实际人员,可能是后台工作人员为客户发起的交易请求
CreateInfo CoreSQLFrom.FieldsFrom `db:"create_info" json:"createInfo"`
//操作原因
Des string `db:"des" json:"des"`
//支付失败后的代码
// 用于系统识别错误类型
FailedCode string `db:"failed_code" json:"failedCode"`
//支付失败后的消息
// 用于用户查看具体的失败原因,可以是财务人员指定的内容
FailedMessage string `db:"failed_message" json:"failedMessage"`
//附加参数结构
// 该参数会混合使用,请注意区分存取的不同类型
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
func Create ¶
func Create(args *ArgsCreate) (data FieldsPayType, errCode string, err error)
Create 发起支付请求
func CreateQuickPay ¶
func CreateQuickPay(args *ArgsCreate) (payData FieldsPayType, errCode string, err error)
CreateQuickPay 快速创建并完成付款 可用于储蓄、现金转账处理,其他渠道请勿使用;本模块无法与第三方衔接
func CreateQuickPayAndConfirm ¶
func CreateQuickPayAndConfirm(args *ArgsCreate) (payData FieldsPayType, errCode string, err error)
CreateQuickPayAndConfirm 快速完成支付和确认支付
func GetList ¶
func GetList(args *ArgsGetList) (dataList []FieldsPayType, dataCount int64, err error)
GetList 获取请求列表
func NeedCommissionCreate ¶
func NeedCommissionCreate(args *ArgsCreate) (data FieldsPayType, errCode string, err error)
NeedCommissionCreate 带手续费流程的发起支付请求
func UpdateStatusClient ¶
func UpdateStatusClient(args *ArgsUpdateStatusClient) (data FieldsPayType, result interface{}, needResult bool, errCode string, err error)
UpdateStatusClient 客户端确认付款 status: wait -> client