Documentation
¶
Index ¶
- func Pointer[t any](val t) *t
- func Struct2MapName(obj interface{}) map[string]interface{}
- func Strval(value interface{}) string
- type APIClient
- type ApiRequest
- type BaseRequest
- type BaseResponse
- type Configuration
- type DivisionBindRequest
- type DivisionBindResponse
- type DivisionExecRequest
- type Error
- func (o *Error) GetDetail() string
- func (o *Error) GetDetailOk() (*string, bool)
- func (o *Error) GetInstance() string
- func (o *Error) GetInstanceOk() (*string, bool)
- func (o *Error) GetStatus() float32
- func (o *Error) GetStatusOk() (*float32, bool)
- func (o *Error) GetTitle() string
- func (o *Error) GetTitleOk() (*string, bool)
- func (o *Error) GetType() string
- func (o *Error) GetTypeOk() (*string, bool)
- func (o *Error) HasDetail() bool
- func (o *Error) HasInstance() bool
- func (o Error) MarshalJSON() ([]byte, error)
- func (o *Error) SetDetail(v string)
- func (o *Error) SetInstance(v string)
- func (o *Error) SetStatus(v float32)
- func (o *Error) SetTitle(v string)
- func (o *Error) SetType(v string)
- type GenericOpenAPIError
- type NotifyTransferResponse
- type NullableError
- type OrderChannelRequest
- type OrderChannelResponse
- type OrderCloseRequest
- type OrderNotifyRequest
- type OrderNotifyResponse
- type PayApiService
- func (p *PayApiService) ChannelOrder(ctx _context.Context, query OrderChannelRequest) (OrderChannelResponse, *_nethttp.Response, error)
- func (p *PayApiService) CloseOrder(ctx _context.Context, query OrderCloseRequest) (Response[BaseResponse], *_nethttp.Response, error)
- func (p *PayApiService) CreateOrder(ctx _context.Context, query PayCreateRequest) (Response[BaseResponse], *_nethttp.Response, error)
- func (p *PayApiService) NotificationOrder(ctx _context.Context, query OrderNotifyRequest, path string) (OrderNotifyResponse, *_nethttp.Response, error)
- func (p *PayApiService) QueryOrder(ctx _context.Context, query PayQueryRequest) (Response[PayQueryItem], *_nethttp.Response, error)
- type PayChannelExtra
- type PayCreateRequest
- type PayDataType
- type PayQueryItem
- type PayQueryRequest
- type QueryTransferRequest
- type QueryTransferResponse
- type RefundApiService
- func (p *RefundApiService) QueryRefundOrder(ctx _context.Context, query RefundQueryRequest) (Response[RefundQueryResponse], *_nethttp.Response, error)
- func (p *RefundApiService) RefundNotifyOrder(ctx _context.Context, query RefundRequest) (RefundQueryResponse, *_nethttp.Response, error)
- func (p *RefundApiService) RefundOrder(ctx _context.Context, query RefundRequest) (Response[RefundResponse], *_nethttp.Response, error)
- type RefundQueryRequest
- type RefundQueryResponse
- type RefundRequest
- type RefundResponse
- type Response
- type Service
- type SubAccountApiService
- type TransferApiService
- func (p *TransferApiService) NotifyTransferOrder(ctx _context.Context, query RefundRequest, path string) (NotifyTransferResponse, *_nethttp.Response, error)
- func (p *TransferApiService) QueryTransferOrder(ctx _context.Context, query QueryTransferRequest) (Response[QueryTransferResponse], *_nethttp.Response, error)
- func (p *TransferApiService) TransferOrder(ctx _context.Context, query TransferExecRequest) (Response[TransferExecResponse], *_nethttp.Response, error)
- type TransferExecRequest
- type TransferExecResponse
- type WayCode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Struct2MapName ¶
func Struct2MapName(obj interface{}) map[string]interface{}
Types ¶
type APIClient ¶
type APIClient struct { PayApi *PayApiService RefundApi *RefundApiService SubAccountApi *SubAccountApiService TransferApi *TransferApiService // contains filtered or unexported fields }
func NewApiClient ¶
func NewApiClient(cfg *Configuration) *APIClient
NewApiClient returns a new instance of the JeepayClient client.
type ApiRequest ¶
type BaseRequest ¶
type BaseRequest[T any] struct { Amount *int `json:"amount"` AppId *string `json:"appId"` ClientIp *string `json:"clientIp"` ExtParam *string `json:"extParam"` MchOrderNo *string `json:"mchOrderNo"` MchNo *string `json:"mchNo"` Subject *string `json:"subject"` WayCode *WayCode `json:"wayCode"` Sign *string `json:"sign"` ReqTime *int64 `json:"reqTime"` Version *string `json:"version"` ChannelExtra *string `json:"channelExtra"` SignType *string `json:"signType"` DivisionMode *int `json:"divisionMode"` }
type BaseResponse ¶
type Configuration ¶
type Configuration struct { Host string `json:"host,omitempty"` // 请求协议 Scheme string `json:"scheme,omitempty"` DefaultHeader map[string]string `json:"defaultHeader,omitempty"` UserAgent string `json:"userAgent,omitempty"` Debug bool `json:"debug,omitempty"` // jeepay中的 AppId string `json:"appId,omitempty"` AppSecret string `json:"appSecret,omitempty"` SignType string `json:"signType,omitempty"` HTTPClient *http.Client }
Configuration stores the configuration of the API client
func NewConfiguration ¶
func NewConfiguration() *Configuration
NewConfiguration returns a new Configuration object
func (*Configuration) AddDefaultHeader ¶
func (c *Configuration) AddDefaultHeader(key string, value string)
AddDefaultHeader adds a new HTTP header to the default header in the request
func (*Configuration) GetLocalBasePath ¶
func (c *Configuration) GetLocalBasePath() (string, error)
type DivisionBindRequest ¶
type DivisionBindRequest struct { Version string `json:"version"` ReqTime string `json:"reqTime"` SignType string `json:"signType"` Sign string `json:"sign"` MchNo string `json:"mchNo"` AppId string `json:"appId"` IfCode string `json:"ifCode"` ReceiverAlias string `json:"receiverAlias"` ReceiverGroupId string `json:"receiverGroupId"` AccType string `json:"accType"` AccNo string `json:"accNo"` AccName string `json:"accName"` RelationType string `json:"relationType"` RelationTypeName string `json:"relationTypeName"` DivisionProfit string `json:"divisionProfit"` }
type DivisionBindResponse ¶
type DivisionBindResponse struct { AccName string `json:"accName"` AccNo string `json:"accNo"` AccType int `json:"accType"` AppId string `json:"appId"` BindState int `json:"bindState"` DivisionProfit float64 `json:"divisionProfit"` ErrCode string `json:"errCode"` ErrMsg string `json:"errMsg"` IfCode string `json:"ifCode"` MchNo string `json:"mchNo"` ReceiverAlias string `json:"receiverAlias"` ReceiverGroupId int `json:"receiverGroupId"` RelationType string `json:"relationType"` RelationTypeName string `json:"relationTypeName"` }
type DivisionExecRequest ¶
type DivisionExecRequest struct { Version string `json:"version"` ReqTime string `json:"reqTime"` SignType string `json:"signType"` Sign string `json:"sign"` MchNo string `json:"mchNo"` AppId string `json:"appId"` PayOrderId string `json:"payOrderId"` UseSysAutoDivisionReceivers string `json:"useSysAutoDivisionReceivers"` Receivers string `json:"receivers"` }
type Error ¶
type Error struct { // A URI reference [RFC3986] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type. Type string `json:"type"` // A short, human-readable summary of the problem type. Title string `json:"title"` // The HTTP status code generated by the API server for this occurrence of the problem. Status float32 `json:"status"` // A human-readable explanation specific to this occurrence of the problem. Detail *string `json:"detail,omitempty"` // A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. Instance *string `json:"instance,omitempty"` }
Error [RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.
func NewError ¶
NewError instantiates a new Error object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed
func NewErrorWithDefaults ¶
func NewErrorWithDefaults() *Error
NewErrorWithDefaults instantiates a new Error object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set
func (*Error) GetDetailOk ¶
GetDetailOk returns a tuple with the Detail field value if set, nil otherwise and a boolean to check if the value has been set.
func (*Error) GetInstance ¶
GetInstance returns the Instance field value if set, zero value otherwise.
func (*Error) GetInstanceOk ¶
GetInstanceOk returns a tuple with the Instance field value if set, nil otherwise and a boolean to check if the value has been set.
func (*Error) GetStatusOk ¶
GetStatusOk returns a tuple with the Status field value and a boolean to check if the value has been set.
func (*Error) GetTitleOk ¶
GetTitleOk returns a tuple with the Title field value and a boolean to check if the value has been set.
func (*Error) GetTypeOk ¶
GetTypeOk returns a tuple with the Type field value and a boolean to check if the value has been set.
func (*Error) HasInstance ¶
HasInstance returns a boolean if a field has been set.
func (Error) MarshalJSON ¶
func (*Error) SetDetail ¶
SetDetail gets a reference to the given string and assigns it to the Detail field.
func (*Error) SetInstance ¶
SetInstance gets a reference to the given string and assigns it to the Instance field.
type GenericOpenAPIError ¶
type GenericOpenAPIError struct {
// contains filtered or unexported fields
}
GenericOpenAPIError Provides access to the body, error and model on returned errors.
func (GenericOpenAPIError) Body ¶
func (e GenericOpenAPIError) Body() []byte
Body returns the raw bytes of the response
func (GenericOpenAPIError) Error ¶
func (e GenericOpenAPIError) Error() string
Error returns non-empty string if there was an error.
func (GenericOpenAPIError) Model ¶
func (e GenericOpenAPIError) Model() interface{}
Model returns the unpacked model of the error
type NotifyTransferResponse ¶
type NotifyTransferResponse struct { AccountNo string `json:"accountNo"` Amount int `json:"amount"` AppId string `json:"appId"` CreatedAt int64 `json:"createdAt"` Currency string `json:"currency"` EntryType string `json:"entryType"` ErrCode string `json:"errCode"` ErrMsg string `json:"errMsg"` IfCode string `json:"ifCode"` MchNo string `json:"mchNo"` MchOrderNo string `json:"mchOrderNo"` State int `json:"state"` TransferDesc string `json:"transferDesc"` TransferId string `json:"transferId"` }
type NullableError ¶
type NullableError struct {
// contains filtered or unexported fields
}
func NewNullableError ¶
func NewNullableError(val *Error) *NullableError
func (NullableError) Get ¶
func (v NullableError) Get() *Error
func (NullableError) IsSet ¶
func (v NullableError) IsSet() bool
func (NullableError) MarshalJSON ¶
func (v NullableError) MarshalJSON() ([]byte, error)
func (*NullableError) Set ¶
func (v *NullableError) Set(val *Error)
func (*NullableError) UnmarshalJSON ¶
func (v *NullableError) UnmarshalJSON(src []byte) error
func (*NullableError) Unset ¶
func (v *NullableError) Unset()
type OrderChannelRequest ¶
type OrderChannelRequest struct { // 商户号 MchNo *string `json:"mchNo"` // 应用ID AppId *string `json:"appId"` // 支付接口,目前只支持传 AUTO IfCode *string `json:"ifCode"` // 跳转地址,获取到用户ID后,会携带用户ID参数跳转到该地址 RedirectUrl *string `json:"redirectUrl"` // 请求接口时间,13位时间戳 ReqTime *int64 `json:"reqTime"` // 接口版本号,固定:1.0 Version *string `json:"version"` // 签名值 Sign *string `json:"sign"` // 签名类型,目前只支持MD5方式 SignType *string `json:"signType"` }
type OrderChannelResponse ¶
type OrderCloseRequest ¶
type OrderCloseRequest struct { MchNo *string `json:"mchNo"` // 商户号 AppId *string `json:"appId"` // 应用ID PayOrderId *string `json:"payOrderId"` // 支付中心生成的订单号,与mchOrderNo二者传一即可 MchOrderNo *string `json:"mchOrderNo"` // 商户生成的订单号,与payOrderId二者传一即可 ReqTime *int64 `json:"reqTime"` // 请求接口时间,13位时间戳 Version *string `json:"version"` // 接口版本号,固定:1.0 Sign *string `json:"sign"` // 签名值 SignType *string `json:"signType"` // 签名类型,目前只支持MD5方式 }
type OrderNotifyRequest ¶
type OrderNotifyRequest struct { Amount int `json:"amount"` Body string `json:"body"` ClientIp string `json:"clientIp"` CreatedAt string `json:"createdAt"` Currency string `json:"currency"` ExtParam string `json:"extParam"` IfCode string `json:"ifCode"` MchNo string `json:"mchNo"` AppId string `json:"appId"` MchOrderNo string `json:"mchOrderNo"` PayOrderId string `json:"payOrderId"` State int `json:"state"` Subject string `json:"subject"` WayCode string `json:"wayCode"` Sign string `json:"sign"` }
type OrderNotifyResponse ¶
type OrderNotifyResponse struct { Amount int `json:"amount"` Body string `json:"body"` ClientIp string `json:"clientIp"` CreatedAt string `json:"createdAt"` Currency string `json:"currency"` ExtParam string `json:"extParam"` IfCode string `json:"ifCode"` MchNo string `json:"mchNo"` AppId string `json:"appId"` MchOrderNo string `json:"mchOrderNo"` PayOrderId string `json:"payOrderId"` State int `json:"state"` Subject string `json:"subject"` WayCode string `json:"wayCode"` Sign string `json:"sign"` }
type PayApiService ¶
type PayApiService Service
func (*PayApiService) ChannelOrder ¶
func (p *PayApiService) ChannelOrder(ctx _context.Context, query OrderChannelRequest) (OrderChannelResponse, *_nethttp.Response, error)
func (*PayApiService) CloseOrder ¶
func (p *PayApiService) CloseOrder(ctx _context.Context, query OrderCloseRequest) (Response[BaseResponse], *_nethttp.Response, error)
func (*PayApiService) CreateOrder ¶
func (p *PayApiService) CreateOrder(ctx _context.Context, query PayCreateRequest) (Response[BaseResponse], *_nethttp.Response, error)
func (*PayApiService) NotificationOrder ¶
func (p *PayApiService) NotificationOrder(ctx _context.Context, query OrderNotifyRequest, path string) (OrderNotifyResponse, *_nethttp.Response, error)
func (*PayApiService) QueryOrder ¶
func (p *PayApiService) QueryOrder(ctx _context.Context, query PayQueryRequest) (Response[PayQueryItem], *_nethttp.Response, error)
type PayChannelExtra ¶
type PayChannelExtra struct { // 当 wayCode=ALI_JSAPI 时,channelExtra必须传buyerUserId,为支付宝用户ID,channelExtra示例数据如: BuyerUserId *string `json:"buyerUserId"` // 当 wayCode=AUTO_BAR 或 wayCode=ALI_BAR 或 wayCode=WX_BAR 或 wayCode=YSF_BAR 时,channelExtra必须传auth_code,为用户的付款码值,channelExtra示例数据如: AuthCode *string `json:"auth_code"` // 当 wayCode=WX_JSAPI 或 wayCode=WX_LITE 时,channelExtra必须传openid,为支付宝用户ID,channelExtra示例数据如: Openid *string `json:"openid"` // 当 wayCode=ALI_WAP 时,channelExtra可以传payDataType设置返回支付数据支付类型。此时payDataType可以为:form-返回自动跳转的支付表单,codeImgUrl-返回一个二维码图片URL,payUrl-返回支付链接,不传payDataType默认返回payUrl类型, channelExtra示例数据如: // 当 wayCode=ALI_PC 时,channelExtra可以传payDataType设置返回支付数据支付类型。此时payDataType可以为:form-返回自动跳转的支付表单,payUrl-返回支付链接,不传payDataType默认返回payUrl类型, channelExtra示例数据如: PayDataType *string `json:"payDataType"` }
type PayCreateRequest ¶
type PayCreateRequest struct { MchNo *string `json:"mchNo"` // 商户号 AppId *string `json:"appId"` // 应用ID MchOrderNo *string `json:"mchOrderNo"` // 商户订单号 WayCode *WayCode `json:"wayCode"` // 支付方式 Amount *int `json:"amount"` // 支付金额 Currency *string `json:"currency"` // 货币代码 ClientIp *string `json:"clientIp"` // 客户端IPV4地址 Subject *string `json:"subject"` // 商品标题 Body *string `json:"body"` // 商品描述 NotifyUrl *string `json:"notifyUrl"` // 异步通知地址 ReturnUrl *string `json:"returnUrl"` // 跳转通知地址 ExpiredTime *int `json:"expiredTime"` // 失效时间 ChannelExtra *string `json:"channelExtra"` // 渠道参数 DivisionMode *int `json:"divisionMode"` // 分账模式 ExtParam *string `json:"extParam"` // 扩展参数 ReqTime *int64 `json:"reqTime"` // 请求时间 Version *string `json:"version"` // 接口版本 Sign *string `json:"sign"` // 签名值 SignType *string `json:"signType"` // 签名类型 }
func NewPayModel ¶
func NewPayModel() *PayCreateRequest
type PayDataType ¶
type PayDataType string
type PayQueryItem ¶
type PayQueryItem struct { Amount *int `json:"amount"` AppId string `json:"appId"` Body string `json:"body"` ChannelOrderNo string `json:"channelOrderNo"` ClientIp string `json:"clientIp"` CreatedAt *int64 `json:"createdAt"` Currency string `json:"currency"` ExtParam string `json:"extParam"` IfCode string `json:"ifCode"` MchNo string `json:"mchNo"` MchOrderNo string `json:"mchOrderNo"` PayOrderId string `json:"payOrderId"` State *int `json:"state"` Subject string `json:"subject"` SuccessTime int64 `json:"successTime"` WayCode string `json:"wayCode"` ErrCode *string `json:"errCode"` ErrMsg *string `json:"errMsg"` }
type PayQueryRequest ¶
type PayQueryRequest struct { MchNo *string `json:"mchNo"` // 商户号 AppId *string `json:"appId"` // 应用ID PayOrderId *string `json:"payOrderId"` // 支付中心生成的订单号,与mchOrderNo二者传一即可 MchOrderNo *string `json:"mchOrderNo"` // 商户生成的订单号,与payOrderId二者传一即可 ReqTime *int64 `json:"reqTime"` // 请求接口时间,13位时间戳 Version *string `json:"version"` // 接口版本号,固定:1.0 Sign *string `json:"sign"` // 签名值 SignType *string `json:"signType"` // 签名类型,目前只支持MD5方式 }
type QueryTransferRequest ¶
type QueryTransferResponse ¶
type QueryTransferResponse struct { AccountNo string `json:"accountNo"` Amount int `json:"amount"` AppId string `json:"appId"` CreatedAt int64 `json:"createdAt"` Currency string `json:"currency"` EntryType string `json:"entryType"` ErrCode string `json:"errCode"` ErrMsg string `json:"errMsg"` IfCode string `json:"ifCode"` MchNo string `json:"mchNo"` MchOrderNo string `json:"mchOrderNo"` State int `json:"state"` TransferDesc string `json:"transferDesc"` TransferId string `json:"transferId"` }
type RefundApiService ¶
type RefundApiService Service
func (*RefundApiService) QueryRefundOrder ¶
func (p *RefundApiService) QueryRefundOrder(ctx _context.Context, query RefundQueryRequest) (Response[RefundQueryResponse], *_nethttp.Response, error)
func (*RefundApiService) RefundNotifyOrder ¶
func (p *RefundApiService) RefundNotifyOrder(ctx _context.Context, query RefundRequest) (RefundQueryResponse, *_nethttp.Response, error)
func (*RefundApiService) RefundOrder ¶
func (p *RefundApiService) RefundOrder(ctx _context.Context, query RefundRequest) (Response[RefundResponse], *_nethttp.Response, error)
type RefundQueryRequest ¶
type RefundQueryResponse ¶
type RefundQueryResponse struct { AppId string `json:"appId"` ChannelOrderNo string `json:"channelOrderNo"` CreatedAt int64 `json:"createdAt"` Currency string `json:"currency"` ExtParam string `json:"extParam"` MchNo string `json:"mchNo"` MchRefundNo string `json:"mchRefundNo"` PayAmount int `json:"payAmount"` PayOrderId string `json:"payOrderId"` RefundAmount int `json:"refundAmount"` RefundOrderId string `json:"refundOrderId"` State int `json:"state"` SuccessTime int64 `json:"successTime"` }
type RefundRequest ¶
type RefundRequest struct { PayOrderId *string `json:"payOrderId"` ExtParam *string `json:"extParam"` MchOrderNo *string `json:"mchOrderNo"` RefundReason *string `json:"refundReason"` Sign *string `json:"sign"` ReqTime *string `json:"reqTime"` Version *string `json:"version"` ChannelExtra *string `json:"channelExtra"` AppId *string `json:"appId"` MchRefundNo *string `json:"mchRefundNo"` ClientIp *string `json:"clientIp"` NotifyUrl *string `json:"notifyUrl"` SignType *string `json:"signType"` Currency *string `json:"currency"` MchNo *string `json:"mchNo"` RefundAmount *int `json:"refundAmount"` }
type RefundResponse ¶
type Service ¶
type Service struct { Configuration *Configuration // contains filtered or unexported fields }
type SubAccountApiService ¶
type SubAccountApiService Service
func (*SubAccountApiService) DivisionBindReceiver ¶
func (p *SubAccountApiService) DivisionBindReceiver(ctx _context.Context, query DivisionBindRequest) (DivisionBindResponse, *_nethttp.Response, error)
func (*SubAccountApiService) DivisionExec ¶
func (p *SubAccountApiService) DivisionExec(ctx _context.Context, query DivisionExecRequest) (Response[BaseResponse], *_nethttp.Response, error)
type TransferApiService ¶
type TransferApiService Service
func (*TransferApiService) NotifyTransferOrder ¶
func (p *TransferApiService) NotifyTransferOrder(ctx _context.Context, query RefundRequest, path string) (NotifyTransferResponse, *_nethttp.Response, error)
func (*TransferApiService) QueryTransferOrder ¶
func (p *TransferApiService) QueryTransferOrder(ctx _context.Context, query QueryTransferRequest) (Response[QueryTransferResponse], *_nethttp.Response, error)
func (*TransferApiService) TransferOrder ¶
func (p *TransferApiService) TransferOrder(ctx _context.Context, query TransferExecRequest) (Response[TransferExecResponse], *_nethttp.Response, error)
type TransferExecRequest ¶
type TransferExecRequest struct { IfCode string `json:"ifCode"` EntryType string `json:"entryType"` Amount int `json:"amount"` AccountName string `json:"accountName"` MchOrderNo string `json:"mchOrderNo"` Sign string `json:"sign"` TransferDesc string `json:"transferDesc"` ReqTime string `json:"reqTime"` Version string `json:"version"` AppId string `json:"appId"` AccountNo string `json:"accountNo"` ClientIp string `json:"clientIp"` SignType string `json:"signType"` Currency string `json:"currency"` MchNo string `json:"mchNo"` }
type TransferExecResponse ¶
type WayCode ¶
type WayCode string
const ( // QrChshier 聚合扫码(用户扫商家) QrChshier WayCode = "QR_CHSHIER" // AutoBar 聚合条码(商家扫用户) AutoBar WayCode = "AUTO_BAR" // AliBar 支付宝条码 AliBar WayCode = "ALI_BAR" // AliJsapi 支付宝生活号 AliJsapi WayCode = "ALI_JSAPI" // AliApp 支付宝APP AliApp WayCode = "ALI_APP" // AliWap 支付宝WAP AliWap WayCode = "ALI_WAP" // AliPc 支付宝PC网站 AliPc WayCode = "ALI_PC" // AliQr 支付宝二维码 AliQr WayCode = "ALI_QR" // WxBar 微信条码 WxBar WayCode = "WX_BAR" // WxJsapi 微信公众号 WxJsapi WayCode = "WX_JSAPI" // WxLite 微信小程序 WxLite WayCode = "WX_LITE" // WxApp 微信APP WxApp WayCode = "WX_APP" // WxH5 微信H5 WxH5 WayCode = "WX_H5" // WxNative 微信扫码 WxNative WayCode = "WX_NATIVE" // YsfBar 云闪付条码 YsfBar WayCode = "YSF_BAR" // YsfJsapi 云闪付jsapi YsfJsapi WayCode = "YSF_JSAPI" PayDataTypeForm = "form" PayDataTypePayUrl = "payUrl" )