FinancePay

package
v5.2.13 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2024 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 GetTip

func GetTip(payID int64) string

GetTip 支付来源描述组合

func Init

func Init()

Init 初始化

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 GetID

func GetID(args *ArgsGetID) (data FieldsPayType, err error)

GetID 通过ID查询数据

func GetList

func GetList(args *ArgsGetList) (dataList []FieldsPayType, dataCount int64, err error)

GetList 获取请求列表

func GetOne

func GetOne(args *ArgsGetOne) (data FieldsPayType, err error)

GetOne 通过任意一个数据查询

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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