1 Star 0 Fork 0

justapnet / justap-server-sdk-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
api_settlement_service.go 72.84 KB
一键复制 编辑 原始数据 按行查看 历史
justap-bot 提交于 2023-05-08 00:34 . new release 1.4.8
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449
/*
* Justap API
*
* 欢迎阅读 Justap Api 文档 Justap 是为移动端应用和PC端应用打造的下一代聚合支付SAAS服务平台,通过一个 SDK 即可快速的支持各种形式的应用,并且一次接口完成多个不同支付渠道的接入。平台除了支持服务商子商户模式,同时还对商家自有商户(即自己前往微信、支付宝等机构开户)提供了完整的支持。 感谢您的支持,我们将不断探索,为您提供更优质的服务!如需技术支持可前往商户中心提交工单,支持工程师会尽快与您取得联系! # 文档说明 采用 REST 风格设计。所有接口请求地址都是可预期的以及面向资源的。使用规范的 HTTP 响应代码来表示请求结果的正确或错误信息。使用 HTTP 内置的特性,如 HTTP Authentication 和 HTTP 请求方法让接口易于理解。 ## HTTP 状态码 HTTP 状态码可以用于表明服务的状态。服务器返回的 HTTP 状态码遵循 [RFC 7231](http://tools.ietf.org/html/rfc7231#section-6) 和 [IANA Status Code Registry](http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) 标准。 ## 认证 在调用 API 时,必须提供 API Key 作为每个请求的身份验证。你可以在管理平台内管理你的 API Key。API Key 是商户在系统中的身份标识,请安全存储,确保其不要被泄露。如需获取或更新 API Key ,也可以在商户中心内进行操作。 Api Key 在使用自定义的 HTTP Header 进行传递。 ``` X-Justap-Api-Key ``` API Key 分为 live 和 test 两种模式。分别对应真实交易环境和模拟测试交易环境并且可以实时切换。 测试模式下的 API Key 会模拟交易等请求,但是不会产生任何真实交易行为和费用,便于调试和接入。 **⚠️ 注意**:在使用 live 模式前,需要先前往 `商户中心 -> 应用设置 -> 开发参数` 开启 live 模式。 <SecurityDefinitions /> ## 请求类型 所有的 API 请求只支持 HTTPS 方式调用。 ## 路由参数 路由参数是指出现在 URL 路径中的可变变量。在本文档中,使用 `{}` 包裹的部分。 例如: `{charge_id}`,在实际使用是,需要将 `{charge_id}` 替换为实际值 `charge_8a8sdf888888` ## MIME Type MIME 类型用于指示服务器返回的数据格式。服务器目前默认采用 `application/json`。 例如: ``` application/json ``` ## 错误 服务器使用 HTTP 状态码 (status code) 来表明一个 API 请求的成功或失败状态。返回 HTTP 2XX 表明 API 请求成功。返回 HTTP 4XX 表明在请求 API 时提供了错误信息,例如参数缺失、参数错误、支付渠道错误等。返回 HTTP 5XX 表明 API 请求时,服务器发生了错误。 在返回错误的状态码时,回同时返回一些错误信息提示出错原因。 具体的错误码我们正在整理当中。 ## 分页 所有的 Justap 资源都可以被 list API 方法支持,例如分页 charges 和 refunds。这些 list API 方法拥有相同的数据结构。Justap 是基于 cursor 的分页机制,使用参数 starting_after 来决定列表从何处开始,使用参数 ending_before 来决定列表从何处结束。 ## 参数说明 请求参数中包含的以下字段释义请参考: - REQUIRED: 必填参数 - OPTIONAL: 可选参数,可以在请求当前接口时按需传入 - CONDITIONAL: 在某些条件下必传 - RESPONSE-ONLY: 标示该参数仅在接口返回参数中出现,调用 API 时无需传入 # 如何保证幂等性 如果发生请求超时或服务器内部错误,客户端可能会尝试重发请求。您可以在请求中设置 ClientToken 参数避免多次重试带来重复操作的问题。 ## 什么是幂等性 在数学计算或者计算机科学中,幂等性(idempotence)是指相同操作或资源在一次或多次请求中具有同样效果的作用。幂等性是在分布式系统设计中具有十分重要的地位。 ## 保证幂等性 通常情况下,客户端只需要在500(InternalErrorInternalError)或503(ServiceUnavailable)错误,或者无法获取响应结果时重试。充实时您可以从客户端生成一个参数值不超过64个的ASCII字符,并将值赋予 ClientToken,保证重试请求的幂等性。 ## ClientToken 详解 ClientToken参数的详细信息如下所示。 - ClientToken 是一个由客户端生成的唯一的、大小写敏感、不超过64个ASCII字符的字符串。例如,`ClientToken=123e4567-e89b-12d3-a456-426655440000`。 - 如果您提供了一个已经使用过的 ClientToken,但其他请求参数**有变化**,则服务器会返回 IdempotentParameterMismatch 的错误代码。 - 如果您提供了一个已经使用过的 ClientToken,且其他请求参数**不变**,则服务器会尝试返回 ClientToken 对应的记录。 ## API列表 以下为部分包含了 ClientToken 参数的API,供您参考。具体哪些API支持 ClientToken 参数请以各 API 文档为准,此处不一一列举。 - [申请退款接口](https://www.justap.cn/docs#operation/TradeService_Refunds) # 签名 为保证安全,JUSTAP 所有接口均需要对请求进行签名。服务器收到请求后进行签名的验证。如果签名验证不通过,将会拒绝处理请求,并返回 401 Unauthorized。 签名算法: ``` base64Encode(hamc-sha256(md5(请求 body + 请求时间戳 + 一次性随机字符串) + 一次性随机字符串)) ``` ## 准备 首先需要在 Justap 创建一个应用,商户需要生成一对 RSA 密钥对,并将公钥配置到 `商户中心 -> 开发配置`。 RSA 可以使用支付宝提供的 [密钥生成工具](https://opendocs.alipay.com/common/02kipl) 来生成。 商户在使用时,可以按照下述步骤生成请求的签名。 ## 算法描述: - 在请求发送前,取完整的**请求 body** - 生成一个随机的32位字符串,得到 **一次性随机字符串** - 获取当前时间的时间戳,得到 **请求时间戳** - 在请求字符串后面拼接上 **请求时间戳** 和 **一次性随机字符串**,得到 **待 Hash 字符串** - 对 **待 Hash 字符串** 计算 md5,得到 **待签名字符串** - **待签名字符串** 后面拼接上 一次性随机字符串,得到完整的 **待签名字符串** - 使用商户 RSA 私钥,对 **待签名字符串** 计算签名,并对 结果 进行 base64 编码,即可得到 **签名** ## 设置HTTP头 Justap 要求请求通过 自定义头部 来传递签名。具体定义如下: ``` X-Justap-Signature: 签名 X-Justap-Request-Time: 请求时间戳 X-Justap-Nonce: 一次性随机字符串 X-Justap-Body-Hash: 待签名字符串 ``` 具体的签名算法实现,可参考我们提供的各语言 SDK。 # WebHooks
*
* API version: 1.0
* Contact: support@justap.net
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package justap
import (
"context"
"io/ioutil"
"net/http"
"net/url"
"strings"
"fmt"
"github.com/antihax/optional"
)
// Linger please
var (
_ context.Context
)
type SettlementServiceApiService service
/*
SettlementServiceApiService 创建 SettlementAccount 对象
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param optional nil or *SettlementServiceApiSettlementServiceCreateSettlementAccountOpts - Optional Parameters:
* @param "AppId" (optional.String) -
* @param "UserId" (optional.String) -
* @param "CustomerId" (optional.String) -
* @param "Channel" (optional.String) - - ALIPAY: 分账到支付宝 - WECHANTPAY: 分账到微信支付 - BANK: 分账到银行卡 - BALANCE: 分账到 justap 账户余额
* @param "RecipientWechatpayChannelRecipientAccount" (optional.String) - openid 或者商户号,由类型决定 微信支付分账接收方账户,OPENID或者商户号
* @param "RecipientWechatpayChannelRecipientName" (optional.String) - 微信支付分账接收方姓名或名称
* @param "RecipientWechatpayChannelRecipientForceCheck" (optional.Bool) - 是否强制校验收款人姓名
* @param "RecipientWechatpayChannelRecipientType" (optional.String) - 微信支付分账接收方类型
* @param "RecipientWechatpayChannelRecipientAccountType" (optional.String) - 微信支付分账接收方账户类型 - ACCOUNT_TYPE_UNSET: 未设置 - MERCHANT_ID: 分账到微信商户号 - OPENID: 分账到个人微信号(父公众号的openid,或服务商的openid)) - SUB_OPENID: 分账到个人微信号,子账号的 - LOGIN_NAME: 分账到微信登录号
* @param "RecipientWechatpayChannelRecipientAppId" (optional.String) - 微信支付分账接收方 openid 所对应的公众号 ID
* @param "RecipientAlipayChannelRecipientAccount" (optional.String) - 支付宝账号,账号ID或者登录邮箱
* @param "RecipientAlipayChannelRecipientName" (optional.String) - 支付宝账号真实姓名
* @param "RecipientAlipayChannelRecipientType" (optional.String) - 支付宝账号类型
* @param "RecipientAlipayChannelRecipientAccountType" (optional.String) - 支付宝账号类型 - ACCOUNT_TYPE_UNSET: 未设置 - MERCHANT_ID: 分账到微信商户号 - OPENID: 分账到个人微信号(父公众号的openid,或服务商的openid)) - SUB_OPENID: 分账到个人微信号,子账号的 - LOGIN_NAME: 分账到微信登录号
* @param "RecipientBankChannelRecipientAccount" (optional.String) - 银行卡号
* @param "RecipientBankChannelRecipientName" (optional.String) - 银行卡开户名
* @param "RecipientBankChannelRecipientType" (optional.String) - 银行卡类型
* @param "RecipientBankChannelRecipientBankName" (optional.String) - 银行卡开户行编码
* @param "RecipientBankChannelRecipientBankBranch" (optional.String) - 银行卡开户支行
* @param "RecipientBankChannelRecipientBankProvince" (optional.String) - 银行卡开户省份
* @param "RecipientBankChannelRecipientBankCity" (optional.String) - 银行卡开户城市
@return V1SettlementAccountResponse
*/
type SettlementServiceApiSettlementServiceCreateSettlementAccountOpts struct {
AppId optional.String
UserId optional.String
CustomerId optional.String
Channel optional.String
RecipientWechatpayChannelRecipientAccount optional.String
RecipientWechatpayChannelRecipientName optional.String
RecipientWechatpayChannelRecipientForceCheck optional.Bool
RecipientWechatpayChannelRecipientType optional.String
RecipientWechatpayChannelRecipientAccountType optional.String
RecipientWechatpayChannelRecipientAppId optional.String
RecipientAlipayChannelRecipientAccount optional.String
RecipientAlipayChannelRecipientName optional.String
RecipientAlipayChannelRecipientType optional.String
RecipientAlipayChannelRecipientAccountType optional.String
RecipientBankChannelRecipientAccount optional.String
RecipientBankChannelRecipientName optional.String
RecipientBankChannelRecipientType optional.String
RecipientBankChannelRecipientBankName optional.String
RecipientBankChannelRecipientBankBranch optional.String
RecipientBankChannelRecipientBankProvince optional.String
RecipientBankChannelRecipientBankCity optional.String
}
func (a *SettlementServiceApiService) SettlementServiceCreateSettlementAccount(ctx context.Context, localVarOptionals *SettlementServiceApiSettlementServiceCreateSettlementAccountOpts) (V1SettlementAccountResponse, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Post")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue V1SettlementAccountResponse
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/settlement_accounts"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.AppId.IsSet() {
localVarQueryParams.Add("app_id", parameterToString(localVarOptionals.AppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.UserId.IsSet() {
localVarQueryParams.Add("user_id", parameterToString(localVarOptionals.UserId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.CustomerId.IsSet() {
localVarQueryParams.Add("customer_id", parameterToString(localVarOptionals.CustomerId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Channel.IsSet() {
localVarQueryParams.Add("channel", parameterToString(localVarOptionals.Channel.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.account", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientName.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.name", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientForceCheck.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.force_check", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientForceCheck.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientType.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.type", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientAccountType.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.account_type", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientAccountType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientAppId.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.app_id", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientAppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.account", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientName.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.name", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientType.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.type", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientAccountType.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.account_type", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientAccountType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.account", parameterToString(localVarOptionals.RecipientBankChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientName.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.name", parameterToString(localVarOptionals.RecipientBankChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientType.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.type", parameterToString(localVarOptionals.RecipientBankChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankName.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_name", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankBranch.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_branch", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankBranch.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankProvince.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_province", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankProvince.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankCity.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_city", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankCity.Value(), ""))
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{"application/json"}
// set Content-Type header
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{"application/json"}
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if ctx != nil {
// API Key Authentication
if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
var key string
if auth.Prefix != "" {
key = auth.Prefix + " " + auth.Key
} else {
key = auth.Key
}
localVarHeaderParams["X-JUSTAP-API-KEY"] = key
}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v V1SettlementAccountResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 401 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 403 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 404 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 500 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 503 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
/*
SettlementServiceApiService 删除 SettlementAccount 对象
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param id
* @param optional nil or *SettlementServiceApiSettlementServiceDeleteSettlementAccountOpts - Optional Parameters:
* @param "AppId" (optional.String) -
@return V1DeleteSettlementAccountResponse
*/
type SettlementServiceApiSettlementServiceDeleteSettlementAccountOpts struct {
AppId optional.String
}
func (a *SettlementServiceApiService) SettlementServiceDeleteSettlementAccount(ctx context.Context, id string, localVarOptionals *SettlementServiceApiSettlementServiceDeleteSettlementAccountOpts) (V1DeleteSettlementAccountResponse, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Delete")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue V1DeleteSettlementAccountResponse
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/settlement_accounts/{id}"
localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.AppId.IsSet() {
localVarQueryParams.Add("app_id", parameterToString(localVarOptionals.AppId.Value(), ""))
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{"application/json"}
// set Content-Type header
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{"application/json"}
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if ctx != nil {
// API Key Authentication
if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
var key string
if auth.Prefix != "" {
key = auth.Prefix + " " + auth.Key
} else {
key = auth.Key
}
localVarHeaderParams["X-JUSTAP-API-KEY"] = key
}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v V1DeleteSettlementAccountResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 401 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 403 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 404 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 500 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 503 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
/*
SettlementServiceApiService 查询 SettlementAccount 对象列表
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param optional nil or *SettlementServiceApiSettlementServiceListAllSettlementAccountsOpts - Optional Parameters:
* @param "AppId" (optional.String) -
* @param "Limit" (optional.Int32) - [OPTIONAL] 限制有多少对象可以被返回,限制范围是从 1~100 项,默认是 10 项
* @param "StartingAfter" (optional.String) - [OPTIONAL] 在分页时使用的指针,决定了列表的第一项从何处开始。假设你的一次请求返回列表的最后一项的 id 是 obj_end,你可以使用 starting_after &#x3D; obj_end 去获取下一页
* @param "EndingBefore" (optional.String) - [OPTIONAL] 在分页时使用的指针,决定了列表的最末项在何处结束。假设你的一次请求返回列表的第一项的 id 是 obj_start,你可以使用 ending_before &#x3D; obj_start 去获取上一页
* @param "CreatedLt" (optional.Int64) - 大于 charge 对象的创建时间,用 Unix 时间戳表示
* @param "CreatedLte" (optional.Int64) - 大于或等于 charge 对象的创建时间,用 Unix 时间戳表示
* @param "CreatedGt" (optional.Int64) - 小于 charge 对象的创建时间,用 Unix 时间戳表示
* @param "CreatedGte" (optional.Int64) - 小于或等于 charge 对象的创建时间,用 Unix 时间戳表示
* @param "Disabled" (optional.Bool) - [OPTIONAL] 是否禁用,默认为 false
* @param "CustomerId" (optional.String) - [OPTIONAL] 客户 ID
* @param "UserId" (optional.String) - [OPTIONAL] 商户用户 ID
@return V1SettlementAccountListResponse
*/
type SettlementServiceApiSettlementServiceListAllSettlementAccountsOpts struct {
AppId optional.String
Limit optional.Int32
StartingAfter optional.String
EndingBefore optional.String
CreatedLt optional.Int64
CreatedLte optional.Int64
CreatedGt optional.Int64
CreatedGte optional.Int64
Disabled optional.Bool
CustomerId optional.String
UserId optional.String
}
func (a *SettlementServiceApiService) SettlementServiceListAllSettlementAccounts(ctx context.Context, localVarOptionals *SettlementServiceApiSettlementServiceListAllSettlementAccountsOpts) (V1SettlementAccountListResponse, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Get")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue V1SettlementAccountListResponse
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/settlement_accounts"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.AppId.IsSet() {
localVarQueryParams.Add("app_id", parameterToString(localVarOptionals.AppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.StartingAfter.IsSet() {
localVarQueryParams.Add("starting_after", parameterToString(localVarOptionals.StartingAfter.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.EndingBefore.IsSet() {
localVarQueryParams.Add("ending_before", parameterToString(localVarOptionals.EndingBefore.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.CreatedLt.IsSet() {
localVarQueryParams.Add("created.lt", parameterToString(localVarOptionals.CreatedLt.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.CreatedLte.IsSet() {
localVarQueryParams.Add("created.lte", parameterToString(localVarOptionals.CreatedLte.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.CreatedGt.IsSet() {
localVarQueryParams.Add("created.gt", parameterToString(localVarOptionals.CreatedGt.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.CreatedGte.IsSet() {
localVarQueryParams.Add("created.gte", parameterToString(localVarOptionals.CreatedGte.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Disabled.IsSet() {
localVarQueryParams.Add("disabled", parameterToString(localVarOptionals.Disabled.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.CustomerId.IsSet() {
localVarQueryParams.Add("customer_id", parameterToString(localVarOptionals.CustomerId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.UserId.IsSet() {
localVarQueryParams.Add("user_id", parameterToString(localVarOptionals.UserId.Value(), ""))
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{"application/json"}
// set Content-Type header
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{"application/json"}
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if ctx != nil {
// API Key Authentication
if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
var key string
if auth.Prefix != "" {
key = auth.Prefix + " " + auth.Key
} else {
key = auth.Key
}
localVarHeaderParams["X-JUSTAP-API-KEY"] = key
}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v V1SettlementAccountListResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 401 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 403 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 404 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 500 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 503 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
/*
SettlementServiceApiService 查询 SettlementAccount 对象
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param id
* @param optional nil or *SettlementServiceApiSettlementServiceRetrieveSettlementAccountOpts - Optional Parameters:
* @param "AppId" (optional.String) -
* @param "Object" (optional.String) - 对象类型
* @param "DataId" (optional.String) - 分账接收方的唯一标识
* @param "DataAppId" (optional.String) - 分账接收方所在的应用 ID
* @param "DataUserId" (optional.String) - 分账接收方的用户 ID
* @param "DataChannel" (optional.String) - 分账接收方的账户类型 - ALIPAY: 分账到支付宝 - WECHANTPAY: 分账到微信支付 - BANK: 分账到银行卡 - BALANCE: 分账到 justap 账户余额
* @param "DataRecipientWechatpayChannelRecipientAccount" (optional.String) - openid 或者商户号,由类型决定 微信支付分账接收方账户,OPENID或者商户号
* @param "DataRecipientWechatpayChannelRecipientName" (optional.String) - 微信支付分账接收方姓名或名称
* @param "DataRecipientWechatpayChannelRecipientForceCheck" (optional.Bool) - 是否强制校验收款人姓名
* @param "DataRecipientWechatpayChannelRecipientType" (optional.String) - 微信支付分账接收方类型
* @param "DataRecipientWechatpayChannelRecipientAccountType" (optional.String) - 微信支付分账接收方账户类型 - ACCOUNT_TYPE_UNSET: 未设置 - MERCHANT_ID: 分账到微信商户号 - OPENID: 分账到个人微信号(父公众号的openid,或服务商的openid)) - SUB_OPENID: 分账到个人微信号,子账号的 - LOGIN_NAME: 分账到微信登录号
* @param "DataRecipientWechatpayChannelRecipientAppId" (optional.String) - 微信支付分账接收方 openid 所对应的公众号 ID
* @param "DataRecipientAlipayChannelRecipientAccount" (optional.String) - 支付宝账号,账号ID或者登录邮箱
* @param "DataRecipientAlipayChannelRecipientName" (optional.String) - 支付宝账号真实姓名
* @param "DataRecipientAlipayChannelRecipientType" (optional.String) - 支付宝账号类型
* @param "DataRecipientAlipayChannelRecipientAccountType" (optional.String) - 支付宝账号类型 - ACCOUNT_TYPE_UNSET: 未设置 - MERCHANT_ID: 分账到微信商户号 - OPENID: 分账到个人微信号(父公众号的openid,或服务商的openid)) - SUB_OPENID: 分账到个人微信号,子账号的 - LOGIN_NAME: 分账到微信登录号
* @param "DataRecipientBankChannelRecipientAccount" (optional.String) - 银行卡号
* @param "DataRecipientBankChannelRecipientName" (optional.String) - 银行卡开户名
* @param "DataRecipientBankChannelRecipientType" (optional.String) - 银行卡类型
* @param "DataRecipientBankChannelRecipientBankName" (optional.String) - 银行卡开户行编码
* @param "DataRecipientBankChannelRecipientBankBranch" (optional.String) - 银行卡开户支行
* @param "DataRecipientBankChannelRecipientBankProvince" (optional.String) - 银行卡开户省份
* @param "DataRecipientBankChannelRecipientBankCity" (optional.String) - 银行卡开户城市
* @param "DataCreated" (optional.Int64) - 分账接收方的创建时间
* @param "DataUpdated" (optional.Int64) - 分账接收方的更新时间
* @param "DataObject" (optional.String) - 对象类型
@return V1SettlementAccountResponse
*/
type SettlementServiceApiSettlementServiceRetrieveSettlementAccountOpts struct {
AppId optional.String
Object optional.String
DataId optional.String
DataAppId optional.String
DataUserId optional.String
DataChannel optional.String
DataRecipientWechatpayChannelRecipientAccount optional.String
DataRecipientWechatpayChannelRecipientName optional.String
DataRecipientWechatpayChannelRecipientForceCheck optional.Bool
DataRecipientWechatpayChannelRecipientType optional.String
DataRecipientWechatpayChannelRecipientAccountType optional.String
DataRecipientWechatpayChannelRecipientAppId optional.String
DataRecipientAlipayChannelRecipientAccount optional.String
DataRecipientAlipayChannelRecipientName optional.String
DataRecipientAlipayChannelRecipientType optional.String
DataRecipientAlipayChannelRecipientAccountType optional.String
DataRecipientBankChannelRecipientAccount optional.String
DataRecipientBankChannelRecipientName optional.String
DataRecipientBankChannelRecipientType optional.String
DataRecipientBankChannelRecipientBankName optional.String
DataRecipientBankChannelRecipientBankBranch optional.String
DataRecipientBankChannelRecipientBankProvince optional.String
DataRecipientBankChannelRecipientBankCity optional.String
DataCreated optional.Int64
DataUpdated optional.Int64
DataObject optional.String
}
func (a *SettlementServiceApiService) SettlementServiceRetrieveSettlementAccount(ctx context.Context, id string, localVarOptionals *SettlementServiceApiSettlementServiceRetrieveSettlementAccountOpts) (V1SettlementAccountResponse, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Get")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue V1SettlementAccountResponse
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/settlement_accounts/{id}"
localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.AppId.IsSet() {
localVarQueryParams.Add("app_id", parameterToString(localVarOptionals.AppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Object.IsSet() {
localVarQueryParams.Add("object", parameterToString(localVarOptionals.Object.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataId.IsSet() {
localVarQueryParams.Add("data.id", parameterToString(localVarOptionals.DataId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataAppId.IsSet() {
localVarQueryParams.Add("data.app_id", parameterToString(localVarOptionals.DataAppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataUserId.IsSet() {
localVarQueryParams.Add("data.user_id", parameterToString(localVarOptionals.DataUserId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataChannel.IsSet() {
localVarQueryParams.Add("data.channel", parameterToString(localVarOptionals.DataChannel.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientWechatpayChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("data.recipient.wechatpay_channel_recipient.account", parameterToString(localVarOptionals.DataRecipientWechatpayChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientWechatpayChannelRecipientName.IsSet() {
localVarQueryParams.Add("data.recipient.wechatpay_channel_recipient.name", parameterToString(localVarOptionals.DataRecipientWechatpayChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientWechatpayChannelRecipientForceCheck.IsSet() {
localVarQueryParams.Add("data.recipient.wechatpay_channel_recipient.force_check", parameterToString(localVarOptionals.DataRecipientWechatpayChannelRecipientForceCheck.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientWechatpayChannelRecipientType.IsSet() {
localVarQueryParams.Add("data.recipient.wechatpay_channel_recipient.type", parameterToString(localVarOptionals.DataRecipientWechatpayChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientWechatpayChannelRecipientAccountType.IsSet() {
localVarQueryParams.Add("data.recipient.wechatpay_channel_recipient.account_type", parameterToString(localVarOptionals.DataRecipientWechatpayChannelRecipientAccountType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientWechatpayChannelRecipientAppId.IsSet() {
localVarQueryParams.Add("data.recipient.wechatpay_channel_recipient.app_id", parameterToString(localVarOptionals.DataRecipientWechatpayChannelRecipientAppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientAlipayChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("data.recipient.alipay_channel_recipient.account", parameterToString(localVarOptionals.DataRecipientAlipayChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientAlipayChannelRecipientName.IsSet() {
localVarQueryParams.Add("data.recipient.alipay_channel_recipient.name", parameterToString(localVarOptionals.DataRecipientAlipayChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientAlipayChannelRecipientType.IsSet() {
localVarQueryParams.Add("data.recipient.alipay_channel_recipient.type", parameterToString(localVarOptionals.DataRecipientAlipayChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientAlipayChannelRecipientAccountType.IsSet() {
localVarQueryParams.Add("data.recipient.alipay_channel_recipient.account_type", parameterToString(localVarOptionals.DataRecipientAlipayChannelRecipientAccountType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.account", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientName.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.name", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientType.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.type", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientBankName.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.bank_name", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientBankName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientBankBranch.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.bank_branch", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientBankBranch.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientBankProvince.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.bank_province", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientBankProvince.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataRecipientBankChannelRecipientBankCity.IsSet() {
localVarQueryParams.Add("data.recipient.bank_channel_recipient.bank_city", parameterToString(localVarOptionals.DataRecipientBankChannelRecipientBankCity.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataCreated.IsSet() {
localVarQueryParams.Add("data.created", parameterToString(localVarOptionals.DataCreated.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataUpdated.IsSet() {
localVarQueryParams.Add("data.updated", parameterToString(localVarOptionals.DataUpdated.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.DataObject.IsSet() {
localVarQueryParams.Add("data.object", parameterToString(localVarOptionals.DataObject.Value(), ""))
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{"application/json"}
// set Content-Type header
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{"application/json"}
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if ctx != nil {
// API Key Authentication
if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
var key string
if auth.Prefix != "" {
key = auth.Prefix + " " + auth.Key
} else {
key = auth.Key
}
localVarHeaderParams["X-JUSTAP-API-KEY"] = key
}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v V1SettlementAccountResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 401 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 403 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 404 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 500 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 503 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
/*
SettlementServiceApiService 搜索 SettlementAccount 对象
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param optional nil or *SettlementServiceApiSettlementServiceSearchSettlementAccountsOpts - Optional Parameters:
* @param "UserId" (optional.String) -
* @param "AppId" (optional.String) -
@return V1SettlementAccountListResponse
*/
type SettlementServiceApiSettlementServiceSearchSettlementAccountsOpts struct {
UserId optional.String
AppId optional.String
}
func (a *SettlementServiceApiService) SettlementServiceSearchSettlementAccounts(ctx context.Context, localVarOptionals *SettlementServiceApiSettlementServiceSearchSettlementAccountsOpts) (V1SettlementAccountListResponse, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Get")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue V1SettlementAccountListResponse
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/settlement_accounts/search"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.UserId.IsSet() {
localVarQueryParams.Add("user_id", parameterToString(localVarOptionals.UserId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.AppId.IsSet() {
localVarQueryParams.Add("app_id", parameterToString(localVarOptionals.AppId.Value(), ""))
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{"application/json"}
// set Content-Type header
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{"application/json"}
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if ctx != nil {
// API Key Authentication
if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
var key string
if auth.Prefix != "" {
key = auth.Prefix + " " + auth.Key
} else {
key = auth.Key
}
localVarHeaderParams["X-JUSTAP-API-KEY"] = key
}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v V1SettlementAccountListResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 401 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 403 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 404 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 500 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 503 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
/*
SettlementServiceApiService 更新 SettlementAccount 对象
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param id
* @param optional nil or *SettlementServiceApiSettlementServiceUpdateSettlementAccountOpts - Optional Parameters:
* @param "CustomerId" (optional.String) -
* @param "UserId" (optional.String) -
* @param "Channel" (optional.String) - - ALIPAY: 分账到支付宝 - WECHANTPAY: 分账到微信支付 - BANK: 分账到银行卡 - BALANCE: 分账到 justap 账户余额
* @param "RecipientWechatpayChannelRecipientAccount" (optional.String) - openid 或者商户号,由类型决定 微信支付分账接收方账户,OPENID或者商户号
* @param "RecipientWechatpayChannelRecipientName" (optional.String) - 微信支付分账接收方姓名或名称
* @param "RecipientWechatpayChannelRecipientForceCheck" (optional.Bool) - 是否强制校验收款人姓名
* @param "RecipientWechatpayChannelRecipientType" (optional.String) - 微信支付分账接收方类型
* @param "RecipientWechatpayChannelRecipientAccountType" (optional.String) - 微信支付分账接收方账户类型 - ACCOUNT_TYPE_UNSET: 未设置 - MERCHANT_ID: 分账到微信商户号 - OPENID: 分账到个人微信号(父公众号的openid,或服务商的openid)) - SUB_OPENID: 分账到个人微信号,子账号的 - LOGIN_NAME: 分账到微信登录号
* @param "RecipientWechatpayChannelRecipientAppId" (optional.String) - 微信支付分账接收方 openid 所对应的公众号 ID
* @param "RecipientAlipayChannelRecipientAccount" (optional.String) - 支付宝账号,账号ID或者登录邮箱
* @param "RecipientAlipayChannelRecipientName" (optional.String) - 支付宝账号真实姓名
* @param "RecipientAlipayChannelRecipientType" (optional.String) - 支付宝账号类型
* @param "RecipientAlipayChannelRecipientAccountType" (optional.String) - 支付宝账号类型 - ACCOUNT_TYPE_UNSET: 未设置 - MERCHANT_ID: 分账到微信商户号 - OPENID: 分账到个人微信号(父公众号的openid,或服务商的openid)) - SUB_OPENID: 分账到个人微信号,子账号的 - LOGIN_NAME: 分账到微信登录号
* @param "RecipientBankChannelRecipientAccount" (optional.String) - 银行卡号
* @param "RecipientBankChannelRecipientName" (optional.String) - 银行卡开户名
* @param "RecipientBankChannelRecipientType" (optional.String) - 银行卡类型
* @param "RecipientBankChannelRecipientBankName" (optional.String) - 银行卡开户行编码
* @param "RecipientBankChannelRecipientBankBranch" (optional.String) - 银行卡开户支行
* @param "RecipientBankChannelRecipientBankProvince" (optional.String) - 银行卡开户省份
* @param "RecipientBankChannelRecipientBankCity" (optional.String) - 银行卡开户城市
@return V1SettlementAccountResponse
*/
type SettlementServiceApiSettlementServiceUpdateSettlementAccountOpts struct {
CustomerId optional.String
UserId optional.String
Channel optional.String
RecipientWechatpayChannelRecipientAccount optional.String
RecipientWechatpayChannelRecipientName optional.String
RecipientWechatpayChannelRecipientForceCheck optional.Bool
RecipientWechatpayChannelRecipientType optional.String
RecipientWechatpayChannelRecipientAccountType optional.String
RecipientWechatpayChannelRecipientAppId optional.String
RecipientAlipayChannelRecipientAccount optional.String
RecipientAlipayChannelRecipientName optional.String
RecipientAlipayChannelRecipientType optional.String
RecipientAlipayChannelRecipientAccountType optional.String
RecipientBankChannelRecipientAccount optional.String
RecipientBankChannelRecipientName optional.String
RecipientBankChannelRecipientType optional.String
RecipientBankChannelRecipientBankName optional.String
RecipientBankChannelRecipientBankBranch optional.String
RecipientBankChannelRecipientBankProvince optional.String
RecipientBankChannelRecipientBankCity optional.String
}
func (a *SettlementServiceApiService) SettlementServiceUpdateSettlementAccount(ctx context.Context, id string, localVarOptionals *SettlementServiceApiSettlementServiceUpdateSettlementAccountOpts) (V1SettlementAccountResponse, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Post")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue V1SettlementAccountResponse
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/settlement_accounts/{id}"
localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.CustomerId.IsSet() {
localVarQueryParams.Add("customer_id", parameterToString(localVarOptionals.CustomerId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.UserId.IsSet() {
localVarQueryParams.Add("user_id", parameterToString(localVarOptionals.UserId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Channel.IsSet() {
localVarQueryParams.Add("channel", parameterToString(localVarOptionals.Channel.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.account", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientName.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.name", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientForceCheck.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.force_check", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientForceCheck.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientType.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.type", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientAccountType.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.account_type", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientAccountType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientWechatpayChannelRecipientAppId.IsSet() {
localVarQueryParams.Add("recipient.wechatpay_channel_recipient.app_id", parameterToString(localVarOptionals.RecipientWechatpayChannelRecipientAppId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.account", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientName.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.name", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientType.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.type", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientAlipayChannelRecipientAccountType.IsSet() {
localVarQueryParams.Add("recipient.alipay_channel_recipient.account_type", parameterToString(localVarOptionals.RecipientAlipayChannelRecipientAccountType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientAccount.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.account", parameterToString(localVarOptionals.RecipientBankChannelRecipientAccount.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientName.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.name", parameterToString(localVarOptionals.RecipientBankChannelRecipientName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientType.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.type", parameterToString(localVarOptionals.RecipientBankChannelRecipientType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankName.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_name", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankName.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankBranch.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_branch", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankBranch.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankProvince.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_province", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankProvince.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.RecipientBankChannelRecipientBankCity.IsSet() {
localVarQueryParams.Add("recipient.bank_channel_recipient.bank_city", parameterToString(localVarOptionals.RecipientBankChannelRecipientBankCity.Value(), ""))
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{"application/json"}
// set Content-Type header
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{"application/json"}
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if ctx != nil {
// API Key Authentication
if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
var key string
if auth.Prefix != "" {
key = auth.Prefix + " " + auth.Key
} else {
key = auth.Key
}
localVarHeaderParams["X-JUSTAP-API-KEY"] = key
}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v V1SettlementAccountResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 401 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 403 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 404 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 500 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 503 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
Go
1
https://gitee.com/justapnet/justap-server-sdk-go.git
git@gitee.com:justapnet/justap-server-sdk-go.git
justapnet
justap-server-sdk-go
justap-server-sdk-go
master

搜索帮助