Browse Source

FINMALL SDK Auto Released By shenshi,Version:1.53.48

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 years ago
parent
commit
c5daf5e58a
42 changed files with 4435 additions and 0 deletions
  1. 3 0
      ChangeLog.txt
  2. 106 0
      services/finmall/add_custom_info.go
  3. 114 0
      services/finmall/add_trial_record.go
  4. 111 0
      services/finmall/apply_for_loan.go
  5. 107 0
      services/finmall/cancel_credit.go
  6. 81 0
      services/finmall/client.go
  7. 109 0
      services/finmall/get_authorize_credit_query.go
  8. 107 0
      services/finmall/get_credit_detail.go
  9. 109 0
      services/finmall/get_credit_list.go
  10. 109 0
      services/finmall/get_credit_repay_list.go
  11. 107 0
      services/finmall/get_credit_signature_info.go
  12. 107 0
      services/finmall/get_credit_status.go
  13. 107 0
      services/finmall/get_credit_withdraw_record.go
  14. 107 0
      services/finmall/get_current_term_repay_info.go
  15. 106 0
      services/finmall/get_custom_status_info.go
  16. 106 0
      services/finmall/get_customer_verify_info.go
  17. 109 0
      services/finmall/get_document_download_url.go
  18. 107 0
      services/finmall/get_latest_overdue_record.go
  19. 109 0
      services/finmall/get_loan_agreement.go
  20. 107 0
      services/finmall/get_loan_apply_record_list.go
  21. 109 0
      services/finmall/get_overdue_record_list.go
  22. 108 0
      services/finmall/get_product_detail.go
  23. 108 0
      services/finmall/get_product_list.go
  24. 108 0
      services/finmall/get_repay_plan_trial.go
  25. 110 0
      services/finmall/get_sign_contract_url.go
  26. 107 0
      services/finmall/get_trade_data.go
  27. 108 0
      services/finmall/get_user_info_authorization_agreement.go
  28. 106 0
      services/finmall/get_zhima_score.go
  29. 108 0
      services/finmall/pay_for_order.go
  30. 106 0
      services/finmall/query_fund_party_list.go
  31. 110 0
      services/finmall/query_sign_result.go
  32. 106 0
      services/finmall/query_trial_records.go
  33. 120 0
      services/finmall/save_authentication_info.go
  34. 108 0
      services/finmall/sign_loan_agreement.go
  35. 111 0
      services/finmall/sign_result_notify.go
  36. 112 0
      services/finmall/signed_page_result.go
  37. 92 0
      services/finmall/struct_data.go
  38. 118 0
      services/finmall/update_authentication_info.go
  39. 119 0
      services/finmall/update_enterprise_custom_info.go
  40. 109 0
      services/finmall/upload_custom_id_image.go
  41. 118 0
      services/finmall/verify_customer.go
  42. 106 0
      services/finmall/verify_sms_token.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-03-15 Version: 1.53.48
+1,  Update Dependency
+
 2019-03-15 Version: 1.53.47
 1,  Update Dependency
 

+ 106 - 0
services/finmall/add_custom_info.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddCustomInfo invokes the finmall.AddCustomInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/addcustominfo.html
+func (client *Client) AddCustomInfo(request *AddCustomInfoRequest) (response *AddCustomInfoResponse, err error) {
+	response = CreateAddCustomInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddCustomInfoWithChan invokes the finmall.AddCustomInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/addcustominfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddCustomInfoWithChan(request *AddCustomInfoRequest) (<-chan *AddCustomInfoResponse, <-chan error) {
+	responseChan := make(chan *AddCustomInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddCustomInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddCustomInfoWithCallback invokes the finmall.AddCustomInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/addcustominfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddCustomInfoWithCallback(request *AddCustomInfoRequest, callback func(response *AddCustomInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddCustomInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.AddCustomInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddCustomInfoRequest is the request struct for api AddCustomInfo
+type AddCustomInfoRequest struct {
+	*requests.RpcRequest
+	UserId string `position:"Query" name:"UserId"`
+}
+
+// AddCustomInfoResponse is the response struct for api AddCustomInfo
+type AddCustomInfoResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateAddCustomInfoRequest creates a request to invoke AddCustomInfo API
+func CreateAddCustomInfoRequest() (request *AddCustomInfoRequest) {
+	request = &AddCustomInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "AddCustomInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateAddCustomInfoResponse creates a response to parse from AddCustomInfo response
+func CreateAddCustomInfoResponse() (response *AddCustomInfoResponse) {
+	response = &AddCustomInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/finmall/add_trial_record.go

@@ -0,0 +1,114 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddTrialRecord invokes the finmall.AddTrialRecord API synchronously
+// api document: https://help.aliyun.com/api/finmall/addtrialrecord.html
+func (client *Client) AddTrialRecord(request *AddTrialRecordRequest) (response *AddTrialRecordResponse, err error) {
+	response = CreateAddTrialRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddTrialRecordWithChan invokes the finmall.AddTrialRecord API asynchronously
+// api document: https://help.aliyun.com/api/finmall/addtrialrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTrialRecordWithChan(request *AddTrialRecordRequest) (<-chan *AddTrialRecordResponse, <-chan error) {
+	responseChan := make(chan *AddTrialRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddTrialRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddTrialRecordWithCallback invokes the finmall.AddTrialRecord API asynchronously
+// api document: https://help.aliyun.com/api/finmall/addtrialrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTrialRecordWithCallback(request *AddTrialRecordRequest, callback func(response *AddTrialRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddTrialRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.AddTrialRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddTrialRecordRequest is the request struct for api AddTrialRecord
+type AddTrialRecordRequest struct {
+	*requests.RpcRequest
+	Note                string `position:"Query" name:"Note"`
+	EnterpriseEmail     string `position:"Query" name:"EnterpriseEmail"`
+	ContractPhoneNumber string `position:"Query" name:"ContractPhoneNumber"`
+	ContractName        string `position:"Query" name:"ContractName"`
+	Channel             string `position:"Query" name:"Channel"`
+	EnterpriseName      string `position:"Query" name:"EnterpriseName"`
+	UserId              string `position:"Query" name:"UserId"`
+	Products            string `position:"Query" name:"Products"`
+	Budget              string `position:"Query" name:"Budget"`
+}
+
+// AddTrialRecordResponse is the response struct for api AddTrialRecord
+type AddTrialRecordResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateAddTrialRecordRequest creates a request to invoke AddTrialRecord API
+func CreateAddTrialRecordRequest() (request *AddTrialRecordRequest) {
+	request = &AddTrialRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "AddTrialRecord", "finmall", "openAPI")
+	return
+}
+
+// CreateAddTrialRecordResponse creates a response to parse from AddTrialRecord response
+func CreateAddTrialRecordResponse() (response *AddTrialRecordResponse) {
+	response = &AddTrialRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/finmall/apply_for_loan.go

@@ -0,0 +1,111 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ApplyForLoan invokes the finmall.ApplyForLoan API synchronously
+// api document: https://help.aliyun.com/api/finmall/applyforloan.html
+func (client *Client) ApplyForLoan(request *ApplyForLoanRequest) (response *ApplyForLoanResponse, err error) {
+	response = CreateApplyForLoanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ApplyForLoanWithChan invokes the finmall.ApplyForLoan API asynchronously
+// api document: https://help.aliyun.com/api/finmall/applyforloan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ApplyForLoanWithChan(request *ApplyForLoanRequest) (<-chan *ApplyForLoanResponse, <-chan error) {
+	responseChan := make(chan *ApplyForLoanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ApplyForLoan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ApplyForLoanWithCallback invokes the finmall.ApplyForLoan API asynchronously
+// api document: https://help.aliyun.com/api/finmall/applyforloan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ApplyForLoanWithCallback(request *ApplyForLoanRequest, callback func(response *ApplyForLoanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ApplyForLoanResponse
+		var err error
+		defer close(result)
+		response, err = client.ApplyForLoan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ApplyForLoanRequest is the request struct for api ApplyForLoan
+type ApplyForLoanRequest struct {
+	*requests.RpcRequest
+	BizType     string `position:"Query" name:"BizType"`
+	CreditId    string `position:"Query" name:"CreditId"`
+	ProductId   string `position:"Query" name:"ProductId"`
+	FundpartyId string `position:"Query" name:"FundpartyId"`
+	BizData     string `position:"Query" name:"BizData"`
+	UserId      string `position:"Query" name:"UserId"`
+}
+
+// ApplyForLoanResponse is the response struct for api ApplyForLoan
+type ApplyForLoanResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateApplyForLoanRequest creates a request to invoke ApplyForLoan API
+func CreateApplyForLoanRequest() (request *ApplyForLoanRequest) {
+	request = &ApplyForLoanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "ApplyForLoan", "finmall", "openAPI")
+	return
+}
+
+// CreateApplyForLoanResponse creates a response to parse from ApplyForLoan response
+func CreateApplyForLoanResponse() (response *ApplyForLoanResponse) {
+	response = &ApplyForLoanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/cancel_credit.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CancelCredit invokes the finmall.CancelCredit API synchronously
+// api document: https://help.aliyun.com/api/finmall/cancelcredit.html
+func (client *Client) CancelCredit(request *CancelCreditRequest) (response *CancelCreditResponse, err error) {
+	response = CreateCancelCreditResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CancelCreditWithChan invokes the finmall.CancelCredit API asynchronously
+// api document: https://help.aliyun.com/api/finmall/cancelcredit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelCreditWithChan(request *CancelCreditRequest) (<-chan *CancelCreditResponse, <-chan error) {
+	responseChan := make(chan *CancelCreditResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CancelCredit(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CancelCreditWithCallback invokes the finmall.CancelCredit API asynchronously
+// api document: https://help.aliyun.com/api/finmall/cancelcredit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelCreditWithCallback(request *CancelCreditRequest, callback func(response *CancelCreditResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CancelCreditResponse
+		var err error
+		defer close(result)
+		response, err = client.CancelCredit(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CancelCreditRequest is the request struct for api CancelCredit
+type CancelCreditRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// CancelCreditResponse is the response struct for api CancelCredit
+type CancelCreditResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCancelCreditRequest creates a request to invoke CancelCredit API
+func CreateCancelCreditRequest() (request *CancelCreditRequest) {
+	request = &CancelCreditRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "CancelCredit", "finmall", "openAPI")
+	return
+}
+
+// CreateCancelCreditResponse creates a response to parse from CancelCredit response
+func CreateCancelCreditResponse() (response *CancelCreditResponse) {
+	response = &CancelCreditResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/finmall/client.go

@@ -0,0 +1,81 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 109 - 0
services/finmall/get_authorize_credit_query.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetAuthorizeCreditQuery invokes the finmall.GetAuthorizeCreditQuery API synchronously
+// api document: https://help.aliyun.com/api/finmall/getauthorizecreditquery.html
+func (client *Client) GetAuthorizeCreditQuery(request *GetAuthorizeCreditQueryRequest) (response *GetAuthorizeCreditQueryResponse, err error) {
+	response = CreateGetAuthorizeCreditQueryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetAuthorizeCreditQueryWithChan invokes the finmall.GetAuthorizeCreditQuery API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getauthorizecreditquery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAuthorizeCreditQueryWithChan(request *GetAuthorizeCreditQueryRequest) (<-chan *GetAuthorizeCreditQueryResponse, <-chan error) {
+	responseChan := make(chan *GetAuthorizeCreditQueryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAuthorizeCreditQuery(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetAuthorizeCreditQueryWithCallback invokes the finmall.GetAuthorizeCreditQuery API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getauthorizecreditquery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAuthorizeCreditQueryWithCallback(request *GetAuthorizeCreditQueryRequest, callback func(response *GetAuthorizeCreditQueryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAuthorizeCreditQueryResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAuthorizeCreditQuery(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetAuthorizeCreditQueryRequest is the request struct for api GetAuthorizeCreditQuery
+type GetAuthorizeCreditQueryRequest struct {
+	*requests.RpcRequest
+	CreditId    string `position:"Query" name:"CreditId"`
+	FundPartyId string `position:"Query" name:"FundPartyId"`
+	ReturnUrl   string `position:"Query" name:"ReturnUrl"`
+	UserId      string `position:"Query" name:"UserId"`
+}
+
+// GetAuthorizeCreditQueryResponse is the response struct for api GetAuthorizeCreditQuery
+type GetAuthorizeCreditQueryResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetAuthorizeCreditQueryRequest creates a request to invoke GetAuthorizeCreditQuery API
+func CreateGetAuthorizeCreditQueryRequest() (request *GetAuthorizeCreditQueryRequest) {
+	request = &GetAuthorizeCreditQueryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetAuthorizeCreditQuery", "finmall", "openAPI")
+	return
+}
+
+// CreateGetAuthorizeCreditQueryResponse creates a response to parse from GetAuthorizeCreditQuery response
+func CreateGetAuthorizeCreditQueryResponse() (response *GetAuthorizeCreditQueryResponse) {
+	response = &GetAuthorizeCreditQueryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_credit_detail.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCreditDetail invokes the finmall.GetCreditDetail API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditdetail.html
+func (client *Client) GetCreditDetail(request *GetCreditDetailRequest) (response *GetCreditDetailResponse, err error) {
+	response = CreateGetCreditDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCreditDetailWithChan invokes the finmall.GetCreditDetail API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditDetailWithChan(request *GetCreditDetailRequest) (<-chan *GetCreditDetailResponse, <-chan error) {
+	responseChan := make(chan *GetCreditDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCreditDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCreditDetailWithCallback invokes the finmall.GetCreditDetail API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditDetailWithCallback(request *GetCreditDetailRequest, callback func(response *GetCreditDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCreditDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCreditDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCreditDetailRequest is the request struct for api GetCreditDetail
+type GetCreditDetailRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetCreditDetailResponse is the response struct for api GetCreditDetail
+type GetCreditDetailResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetCreditDetailRequest creates a request to invoke GetCreditDetail API
+func CreateGetCreditDetailRequest() (request *GetCreditDetailRequest) {
+	request = &GetCreditDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCreditDetail", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCreditDetailResponse creates a response to parse from GetCreditDetail response
+func CreateGetCreditDetailResponse() (response *GetCreditDetailResponse) {
+	response = &GetCreditDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/finmall/get_credit_list.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCreditList invokes the finmall.GetCreditList API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditlist.html
+func (client *Client) GetCreditList(request *GetCreditListRequest) (response *GetCreditListResponse, err error) {
+	response = CreateGetCreditListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCreditListWithChan invokes the finmall.GetCreditList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditListWithChan(request *GetCreditListRequest) (<-chan *GetCreditListResponse, <-chan error) {
+	responseChan := make(chan *GetCreditListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCreditList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCreditListWithCallback invokes the finmall.GetCreditList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditListWithCallback(request *GetCreditListRequest, callback func(response *GetCreditListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCreditListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCreditList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCreditListRequest is the request struct for api GetCreditList
+type GetCreditListRequest struct {
+	*requests.RpcRequest
+	QueryExpression string           `position:"Query" name:"QueryExpression"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	UserId          string           `position:"Query" name:"UserId"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// GetCreditListResponse is the response struct for api GetCreditList
+type GetCreditListResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetCreditListRequest creates a request to invoke GetCreditList API
+func CreateGetCreditListRequest() (request *GetCreditListRequest) {
+	request = &GetCreditListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCreditList", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCreditListResponse creates a response to parse from GetCreditList response
+func CreateGetCreditListResponse() (response *GetCreditListResponse) {
+	response = &GetCreditListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/finmall/get_credit_repay_list.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCreditRepayList invokes the finmall.GetCreditRepayList API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditrepaylist.html
+func (client *Client) GetCreditRepayList(request *GetCreditRepayListRequest) (response *GetCreditRepayListResponse, err error) {
+	response = CreateGetCreditRepayListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCreditRepayListWithChan invokes the finmall.GetCreditRepayList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditrepaylist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditRepayListWithChan(request *GetCreditRepayListRequest) (<-chan *GetCreditRepayListResponse, <-chan error) {
+	responseChan := make(chan *GetCreditRepayListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCreditRepayList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCreditRepayListWithCallback invokes the finmall.GetCreditRepayList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditrepaylist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditRepayListWithCallback(request *GetCreditRepayListRequest, callback func(response *GetCreditRepayListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCreditRepayListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCreditRepayList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCreditRepayListRequest is the request struct for api GetCreditRepayList
+type GetCreditRepayListRequest struct {
+	*requests.RpcRequest
+	QueryExpression string           `position:"Query" name:"QueryExpression"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	UserId          string           `position:"Query" name:"UserId"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// GetCreditRepayListResponse is the response struct for api GetCreditRepayList
+type GetCreditRepayListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetCreditRepayListRequest creates a request to invoke GetCreditRepayList API
+func CreateGetCreditRepayListRequest() (request *GetCreditRepayListRequest) {
+	request = &GetCreditRepayListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCreditRepayList", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCreditRepayListResponse creates a response to parse from GetCreditRepayList response
+func CreateGetCreditRepayListResponse() (response *GetCreditRepayListResponse) {
+	response = &GetCreditRepayListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_credit_signature_info.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCreditSignatureInfo invokes the finmall.GetCreditSignatureInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditsignatureinfo.html
+func (client *Client) GetCreditSignatureInfo(request *GetCreditSignatureInfoRequest) (response *GetCreditSignatureInfoResponse, err error) {
+	response = CreateGetCreditSignatureInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCreditSignatureInfoWithChan invokes the finmall.GetCreditSignatureInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditsignatureinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditSignatureInfoWithChan(request *GetCreditSignatureInfoRequest) (<-chan *GetCreditSignatureInfoResponse, <-chan error) {
+	responseChan := make(chan *GetCreditSignatureInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCreditSignatureInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCreditSignatureInfoWithCallback invokes the finmall.GetCreditSignatureInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditsignatureinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditSignatureInfoWithCallback(request *GetCreditSignatureInfoRequest, callback func(response *GetCreditSignatureInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCreditSignatureInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCreditSignatureInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCreditSignatureInfoRequest is the request struct for api GetCreditSignatureInfo
+type GetCreditSignatureInfoRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetCreditSignatureInfoResponse is the response struct for api GetCreditSignatureInfo
+type GetCreditSignatureInfoResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetCreditSignatureInfoRequest creates a request to invoke GetCreditSignatureInfo API
+func CreateGetCreditSignatureInfoRequest() (request *GetCreditSignatureInfoRequest) {
+	request = &GetCreditSignatureInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCreditSignatureInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCreditSignatureInfoResponse creates a response to parse from GetCreditSignatureInfo response
+func CreateGetCreditSignatureInfoResponse() (response *GetCreditSignatureInfoResponse) {
+	response = &GetCreditSignatureInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_credit_status.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCreditStatus invokes the finmall.GetCreditStatus API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditstatus.html
+func (client *Client) GetCreditStatus(request *GetCreditStatusRequest) (response *GetCreditStatusResponse, err error) {
+	response = CreateGetCreditStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCreditStatusWithChan invokes the finmall.GetCreditStatus API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditStatusWithChan(request *GetCreditStatusRequest) (<-chan *GetCreditStatusResponse, <-chan error) {
+	responseChan := make(chan *GetCreditStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCreditStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCreditStatusWithCallback invokes the finmall.GetCreditStatus API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditStatusWithCallback(request *GetCreditStatusRequest, callback func(response *GetCreditStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCreditStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCreditStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCreditStatusRequest is the request struct for api GetCreditStatus
+type GetCreditStatusRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetCreditStatusResponse is the response struct for api GetCreditStatus
+type GetCreditStatusResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetCreditStatusRequest creates a request to invoke GetCreditStatus API
+func CreateGetCreditStatusRequest() (request *GetCreditStatusRequest) {
+	request = &GetCreditStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCreditStatus", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCreditStatusResponse creates a response to parse from GetCreditStatus response
+func CreateGetCreditStatusResponse() (response *GetCreditStatusResponse) {
+	response = &GetCreditStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_credit_withdraw_record.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCreditWithdrawRecord invokes the finmall.GetCreditWithdrawRecord API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditwithdrawrecord.html
+func (client *Client) GetCreditWithdrawRecord(request *GetCreditWithdrawRecordRequest) (response *GetCreditWithdrawRecordResponse, err error) {
+	response = CreateGetCreditWithdrawRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCreditWithdrawRecordWithChan invokes the finmall.GetCreditWithdrawRecord API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditwithdrawrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditWithdrawRecordWithChan(request *GetCreditWithdrawRecordRequest) (<-chan *GetCreditWithdrawRecordResponse, <-chan error) {
+	responseChan := make(chan *GetCreditWithdrawRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCreditWithdrawRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCreditWithdrawRecordWithCallback invokes the finmall.GetCreditWithdrawRecord API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcreditwithdrawrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCreditWithdrawRecordWithCallback(request *GetCreditWithdrawRecordRequest, callback func(response *GetCreditWithdrawRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCreditWithdrawRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCreditWithdrawRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCreditWithdrawRecordRequest is the request struct for api GetCreditWithdrawRecord
+type GetCreditWithdrawRecordRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetCreditWithdrawRecordResponse is the response struct for api GetCreditWithdrawRecord
+type GetCreditWithdrawRecordResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetCreditWithdrawRecordRequest creates a request to invoke GetCreditWithdrawRecord API
+func CreateGetCreditWithdrawRecordRequest() (request *GetCreditWithdrawRecordRequest) {
+	request = &GetCreditWithdrawRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCreditWithdrawRecord", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCreditWithdrawRecordResponse creates a response to parse from GetCreditWithdrawRecord response
+func CreateGetCreditWithdrawRecordResponse() (response *GetCreditWithdrawRecordResponse) {
+	response = &GetCreditWithdrawRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_current_term_repay_info.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCurrentTermRepayInfo invokes the finmall.GetCurrentTermRepayInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcurrenttermrepayinfo.html
+func (client *Client) GetCurrentTermRepayInfo(request *GetCurrentTermRepayInfoRequest) (response *GetCurrentTermRepayInfoResponse, err error) {
+	response = CreateGetCurrentTermRepayInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCurrentTermRepayInfoWithChan invokes the finmall.GetCurrentTermRepayInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcurrenttermrepayinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCurrentTermRepayInfoWithChan(request *GetCurrentTermRepayInfoRequest) (<-chan *GetCurrentTermRepayInfoResponse, <-chan error) {
+	responseChan := make(chan *GetCurrentTermRepayInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCurrentTermRepayInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCurrentTermRepayInfoWithCallback invokes the finmall.GetCurrentTermRepayInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcurrenttermrepayinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCurrentTermRepayInfoWithCallback(request *GetCurrentTermRepayInfoRequest, callback func(response *GetCurrentTermRepayInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCurrentTermRepayInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCurrentTermRepayInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCurrentTermRepayInfoRequest is the request struct for api GetCurrentTermRepayInfo
+type GetCurrentTermRepayInfoRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetCurrentTermRepayInfoResponse is the response struct for api GetCurrentTermRepayInfo
+type GetCurrentTermRepayInfoResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetCurrentTermRepayInfoRequest creates a request to invoke GetCurrentTermRepayInfo API
+func CreateGetCurrentTermRepayInfoRequest() (request *GetCurrentTermRepayInfoRequest) {
+	request = &GetCurrentTermRepayInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCurrentTermRepayInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCurrentTermRepayInfoResponse creates a response to parse from GetCurrentTermRepayInfo response
+func CreateGetCurrentTermRepayInfoResponse() (response *GetCurrentTermRepayInfoResponse) {
+	response = &GetCurrentTermRepayInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/finmall/get_custom_status_info.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCustomStatusInfo invokes the finmall.GetCustomStatusInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcustomstatusinfo.html
+func (client *Client) GetCustomStatusInfo(request *GetCustomStatusInfoRequest) (response *GetCustomStatusInfoResponse, err error) {
+	response = CreateGetCustomStatusInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCustomStatusInfoWithChan invokes the finmall.GetCustomStatusInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcustomstatusinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCustomStatusInfoWithChan(request *GetCustomStatusInfoRequest) (<-chan *GetCustomStatusInfoResponse, <-chan error) {
+	responseChan := make(chan *GetCustomStatusInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCustomStatusInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCustomStatusInfoWithCallback invokes the finmall.GetCustomStatusInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcustomstatusinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCustomStatusInfoWithCallback(request *GetCustomStatusInfoRequest, callback func(response *GetCustomStatusInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCustomStatusInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCustomStatusInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCustomStatusInfoRequest is the request struct for api GetCustomStatusInfo
+type GetCustomStatusInfoRequest struct {
+	*requests.RpcRequest
+	UserId string `position:"Query" name:"UserId"`
+}
+
+// GetCustomStatusInfoResponse is the response struct for api GetCustomStatusInfo
+type GetCustomStatusInfoResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetCustomStatusInfoRequest creates a request to invoke GetCustomStatusInfo API
+func CreateGetCustomStatusInfoRequest() (request *GetCustomStatusInfoRequest) {
+	request = &GetCustomStatusInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCustomStatusInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCustomStatusInfoResponse creates a response to parse from GetCustomStatusInfo response
+func CreateGetCustomStatusInfoResponse() (response *GetCustomStatusInfoResponse) {
+	response = &GetCustomStatusInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/finmall/get_customer_verify_info.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetCustomerVerifyInfo invokes the finmall.GetCustomerVerifyInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/getcustomerverifyinfo.html
+func (client *Client) GetCustomerVerifyInfo(request *GetCustomerVerifyInfoRequest) (response *GetCustomerVerifyInfoResponse, err error) {
+	response = CreateGetCustomerVerifyInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCustomerVerifyInfoWithChan invokes the finmall.GetCustomerVerifyInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcustomerverifyinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCustomerVerifyInfoWithChan(request *GetCustomerVerifyInfoRequest) (<-chan *GetCustomerVerifyInfoResponse, <-chan error) {
+	responseChan := make(chan *GetCustomerVerifyInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCustomerVerifyInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCustomerVerifyInfoWithCallback invokes the finmall.GetCustomerVerifyInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getcustomerverifyinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCustomerVerifyInfoWithCallback(request *GetCustomerVerifyInfoRequest, callback func(response *GetCustomerVerifyInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCustomerVerifyInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCustomerVerifyInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCustomerVerifyInfoRequest is the request struct for api GetCustomerVerifyInfo
+type GetCustomerVerifyInfoRequest struct {
+	*requests.RpcRequest
+	UserId string `position:"Query" name:"UserId"`
+}
+
+// GetCustomerVerifyInfoResponse is the response struct for api GetCustomerVerifyInfo
+type GetCustomerVerifyInfoResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetCustomerVerifyInfoRequest creates a request to invoke GetCustomerVerifyInfo API
+func CreateGetCustomerVerifyInfoRequest() (request *GetCustomerVerifyInfoRequest) {
+	request = &GetCustomerVerifyInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetCustomerVerifyInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateGetCustomerVerifyInfoResponse creates a response to parse from GetCustomerVerifyInfo response
+func CreateGetCustomerVerifyInfoResponse() (response *GetCustomerVerifyInfoResponse) {
+	response = &GetCustomerVerifyInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/finmall/get_document_download_url.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetDocumentDownloadUrl invokes the finmall.GetDocumentDownloadUrl API synchronously
+// api document: https://help.aliyun.com/api/finmall/getdocumentdownloadurl.html
+func (client *Client) GetDocumentDownloadUrl(request *GetDocumentDownloadUrlRequest) (response *GetDocumentDownloadUrlResponse, err error) {
+	response = CreateGetDocumentDownloadUrlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetDocumentDownloadUrlWithChan invokes the finmall.GetDocumentDownloadUrl API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getdocumentdownloadurl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetDocumentDownloadUrlWithChan(request *GetDocumentDownloadUrlRequest) (<-chan *GetDocumentDownloadUrlResponse, <-chan error) {
+	responseChan := make(chan *GetDocumentDownloadUrlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetDocumentDownloadUrl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetDocumentDownloadUrlWithCallback invokes the finmall.GetDocumentDownloadUrl API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getdocumentdownloadurl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetDocumentDownloadUrlWithCallback(request *GetDocumentDownloadUrlRequest, callback func(response *GetDocumentDownloadUrlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetDocumentDownloadUrlResponse
+		var err error
+		defer close(result)
+		response, err = client.GetDocumentDownloadUrl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetDocumentDownloadUrlRequest is the request struct for api GetDocumentDownloadUrl
+type GetDocumentDownloadUrlRequest struct {
+	*requests.RpcRequest
+	BizType    string `position:"Query" name:"BizType"`
+	BizId      string `position:"Query" name:"BizId"`
+	DocumentId string `position:"Query" name:"DocumentId"`
+	UserId     string `position:"Query" name:"UserId"`
+}
+
+// GetDocumentDownloadUrlResponse is the response struct for api GetDocumentDownloadUrl
+type GetDocumentDownloadUrlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetDocumentDownloadUrlRequest creates a request to invoke GetDocumentDownloadUrl API
+func CreateGetDocumentDownloadUrlRequest() (request *GetDocumentDownloadUrlRequest) {
+	request = &GetDocumentDownloadUrlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetDocumentDownloadUrl", "finmall", "openAPI")
+	return
+}
+
+// CreateGetDocumentDownloadUrlResponse creates a response to parse from GetDocumentDownloadUrl response
+func CreateGetDocumentDownloadUrlResponse() (response *GetDocumentDownloadUrlResponse) {
+	response = &GetDocumentDownloadUrlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_latest_overdue_record.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetLatestOverdueRecord invokes the finmall.GetLatestOverdueRecord API synchronously
+// api document: https://help.aliyun.com/api/finmall/getlatestoverduerecord.html
+func (client *Client) GetLatestOverdueRecord(request *GetLatestOverdueRecordRequest) (response *GetLatestOverdueRecordResponse, err error) {
+	response = CreateGetLatestOverdueRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetLatestOverdueRecordWithChan invokes the finmall.GetLatestOverdueRecord API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getlatestoverduerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLatestOverdueRecordWithChan(request *GetLatestOverdueRecordRequest) (<-chan *GetLatestOverdueRecordResponse, <-chan error) {
+	responseChan := make(chan *GetLatestOverdueRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetLatestOverdueRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetLatestOverdueRecordWithCallback invokes the finmall.GetLatestOverdueRecord API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getlatestoverduerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLatestOverdueRecordWithCallback(request *GetLatestOverdueRecordRequest, callback func(response *GetLatestOverdueRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetLatestOverdueRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.GetLatestOverdueRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetLatestOverdueRecordRequest is the request struct for api GetLatestOverdueRecord
+type GetLatestOverdueRecordRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetLatestOverdueRecordResponse is the response struct for api GetLatestOverdueRecord
+type GetLatestOverdueRecordResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetLatestOverdueRecordRequest creates a request to invoke GetLatestOverdueRecord API
+func CreateGetLatestOverdueRecordRequest() (request *GetLatestOverdueRecordRequest) {
+	request = &GetLatestOverdueRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetLatestOverdueRecord", "finmall", "openAPI")
+	return
+}
+
+// CreateGetLatestOverdueRecordResponse creates a response to parse from GetLatestOverdueRecord response
+func CreateGetLatestOverdueRecordResponse() (response *GetLatestOverdueRecordResponse) {
+	response = &GetLatestOverdueRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/finmall/get_loan_agreement.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetLoanAgreement invokes the finmall.GetLoanAgreement API synchronously
+// api document: https://help.aliyun.com/api/finmall/getloanagreement.html
+func (client *Client) GetLoanAgreement(request *GetLoanAgreementRequest) (response *GetLoanAgreementResponse, err error) {
+	response = CreateGetLoanAgreementResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetLoanAgreementWithChan invokes the finmall.GetLoanAgreement API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getloanagreement.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLoanAgreementWithChan(request *GetLoanAgreementRequest) (<-chan *GetLoanAgreementResponse, <-chan error) {
+	responseChan := make(chan *GetLoanAgreementResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetLoanAgreement(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetLoanAgreementWithCallback invokes the finmall.GetLoanAgreement API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getloanagreement.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLoanAgreementWithCallback(request *GetLoanAgreementRequest, callback func(response *GetLoanAgreementResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetLoanAgreementResponse
+		var err error
+		defer close(result)
+		response, err = client.GetLoanAgreement(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetLoanAgreementRequest is the request struct for api GetLoanAgreement
+type GetLoanAgreementRequest struct {
+	*requests.RpcRequest
+	CreditId    string `position:"Query" name:"CreditId"`
+	FundPartyId string `position:"Query" name:"FundPartyId"`
+	ReturnUrl   string `position:"Query" name:"ReturnUrl"`
+	UserId      string `position:"Query" name:"UserId"`
+}
+
+// GetLoanAgreementResponse is the response struct for api GetLoanAgreement
+type GetLoanAgreementResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetLoanAgreementRequest creates a request to invoke GetLoanAgreement API
+func CreateGetLoanAgreementRequest() (request *GetLoanAgreementRequest) {
+	request = &GetLoanAgreementRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetLoanAgreement", "finmall", "openAPI")
+	return
+}
+
+// CreateGetLoanAgreementResponse creates a response to parse from GetLoanAgreement response
+func CreateGetLoanAgreementResponse() (response *GetLoanAgreementResponse) {
+	response = &GetLoanAgreementResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_loan_apply_record_list.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetLoanApplyRecordList invokes the finmall.GetLoanApplyRecordList API synchronously
+// api document: https://help.aliyun.com/api/finmall/getloanapplyrecordlist.html
+func (client *Client) GetLoanApplyRecordList(request *GetLoanApplyRecordListRequest) (response *GetLoanApplyRecordListResponse, err error) {
+	response = CreateGetLoanApplyRecordListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetLoanApplyRecordListWithChan invokes the finmall.GetLoanApplyRecordList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getloanapplyrecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLoanApplyRecordListWithChan(request *GetLoanApplyRecordListRequest) (<-chan *GetLoanApplyRecordListResponse, <-chan error) {
+	responseChan := make(chan *GetLoanApplyRecordListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetLoanApplyRecordList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetLoanApplyRecordListWithCallback invokes the finmall.GetLoanApplyRecordList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getloanapplyrecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLoanApplyRecordListWithCallback(request *GetLoanApplyRecordListRequest, callback func(response *GetLoanApplyRecordListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetLoanApplyRecordListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetLoanApplyRecordList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetLoanApplyRecordListRequest is the request struct for api GetLoanApplyRecordList
+type GetLoanApplyRecordListRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetLoanApplyRecordListResponse is the response struct for api GetLoanApplyRecordList
+type GetLoanApplyRecordListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetLoanApplyRecordListRequest creates a request to invoke GetLoanApplyRecordList API
+func CreateGetLoanApplyRecordListRequest() (request *GetLoanApplyRecordListRequest) {
+	request = &GetLoanApplyRecordListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetLoanApplyRecordList", "finmall", "openAPI")
+	return
+}
+
+// CreateGetLoanApplyRecordListResponse creates a response to parse from GetLoanApplyRecordList response
+func CreateGetLoanApplyRecordListResponse() (response *GetLoanApplyRecordListResponse) {
+	response = &GetLoanApplyRecordListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/finmall/get_overdue_record_list.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetOverdueRecordList invokes the finmall.GetOverdueRecordList API synchronously
+// api document: https://help.aliyun.com/api/finmall/getoverduerecordlist.html
+func (client *Client) GetOverdueRecordList(request *GetOverdueRecordListRequest) (response *GetOverdueRecordListResponse, err error) {
+	response = CreateGetOverdueRecordListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetOverdueRecordListWithChan invokes the finmall.GetOverdueRecordList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getoverduerecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOverdueRecordListWithChan(request *GetOverdueRecordListRequest) (<-chan *GetOverdueRecordListResponse, <-chan error) {
+	responseChan := make(chan *GetOverdueRecordListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetOverdueRecordList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetOverdueRecordListWithCallback invokes the finmall.GetOverdueRecordList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getoverduerecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOverdueRecordListWithCallback(request *GetOverdueRecordListRequest, callback func(response *GetOverdueRecordListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetOverdueRecordListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetOverdueRecordList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetOverdueRecordListRequest is the request struct for api GetOverdueRecordList
+type GetOverdueRecordListRequest struct {
+	*requests.RpcRequest
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	QueryExpression string           `position:"Query" name:"QueryExpression"`
+	UserId          string           `position:"Query" name:"UserId"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// GetOverdueRecordListResponse is the response struct for api GetOverdueRecordList
+type GetOverdueRecordListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetOverdueRecordListRequest creates a request to invoke GetOverdueRecordList API
+func CreateGetOverdueRecordListRequest() (request *GetOverdueRecordListRequest) {
+	request = &GetOverdueRecordListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetOverdueRecordList", "finmall", "openAPI")
+	return
+}
+
+// CreateGetOverdueRecordListResponse creates a response to parse from GetOverdueRecordList response
+func CreateGetOverdueRecordListResponse() (response *GetOverdueRecordListResponse) {
+	response = &GetOverdueRecordListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/finmall/get_product_detail.go

@@ -0,0 +1,108 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetProductDetail invokes the finmall.GetProductDetail API synchronously
+// api document: https://help.aliyun.com/api/finmall/getproductdetail.html
+func (client *Client) GetProductDetail(request *GetProductDetailRequest) (response *GetProductDetailResponse, err error) {
+	response = CreateGetProductDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetProductDetailWithChan invokes the finmall.GetProductDetail API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getproductdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetProductDetailWithChan(request *GetProductDetailRequest) (<-chan *GetProductDetailResponse, <-chan error) {
+	responseChan := make(chan *GetProductDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetProductDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetProductDetailWithCallback invokes the finmall.GetProductDetail API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getproductdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetProductDetailWithCallback(request *GetProductDetailRequest, callback func(response *GetProductDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetProductDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.GetProductDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetProductDetailRequest is the request struct for api GetProductDetail
+type GetProductDetailRequest struct {
+	*requests.RpcRequest
+	ProductId   string `position:"Query" name:"ProductId"`
+	FundPartyId string `position:"Query" name:"FundPartyId"`
+	UserId      string `position:"Query" name:"UserId"`
+}
+
+// GetProductDetailResponse is the response struct for api GetProductDetail
+type GetProductDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Message   string `json:"Message" xml:"Message"`
+	Code      string `json:"Code" xml:"Code"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetProductDetailRequest creates a request to invoke GetProductDetail API
+func CreateGetProductDetailRequest() (request *GetProductDetailRequest) {
+	request = &GetProductDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetProductDetail", "finmall", "openAPI")
+	return
+}
+
+// CreateGetProductDetailResponse creates a response to parse from GetProductDetail response
+func CreateGetProductDetailResponse() (response *GetProductDetailResponse) {
+	response = &GetProductDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/finmall/get_product_list.go

@@ -0,0 +1,108 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetProductList invokes the finmall.GetProductList API synchronously
+// api document: https://help.aliyun.com/api/finmall/getproductlist.html
+func (client *Client) GetProductList(request *GetProductListRequest) (response *GetProductListResponse, err error) {
+	response = CreateGetProductListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetProductListWithChan invokes the finmall.GetProductList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getproductlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetProductListWithChan(request *GetProductListRequest) (<-chan *GetProductListResponse, <-chan error) {
+	responseChan := make(chan *GetProductListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetProductList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetProductListWithCallback invokes the finmall.GetProductList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getproductlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetProductListWithCallback(request *GetProductListRequest, callback func(response *GetProductListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetProductListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetProductList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetProductListRequest is the request struct for api GetProductList
+type GetProductListRequest struct {
+	*requests.RpcRequest
+	CreditId    string `position:"Query" name:"CreditId"`
+	FundPartyId string `position:"Query" name:"FundPartyId"`
+	UserId      string `position:"Query" name:"UserId"`
+}
+
+// GetProductListResponse is the response struct for api GetProductList
+type GetProductListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Message   string `json:"Message" xml:"Message"`
+	Code      string `json:"Code" xml:"Code"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetProductListRequest creates a request to invoke GetProductList API
+func CreateGetProductListRequest() (request *GetProductListRequest) {
+	request = &GetProductListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetProductList", "finmall", "openAPI")
+	return
+}
+
+// CreateGetProductListResponse creates a response to parse from GetProductList response
+func CreateGetProductListResponse() (response *GetProductListResponse) {
+	response = &GetProductListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/finmall/get_repay_plan_trial.go

@@ -0,0 +1,108 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetRepayPlanTrial invokes the finmall.GetRepayPlanTrial API synchronously
+// api document: https://help.aliyun.com/api/finmall/getrepayplantrial.html
+func (client *Client) GetRepayPlanTrial(request *GetRepayPlanTrialRequest) (response *GetRepayPlanTrialResponse, err error) {
+	response = CreateGetRepayPlanTrialResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepayPlanTrialWithChan invokes the finmall.GetRepayPlanTrial API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getrepayplantrial.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepayPlanTrialWithChan(request *GetRepayPlanTrialRequest) (<-chan *GetRepayPlanTrialResponse, <-chan error) {
+	responseChan := make(chan *GetRepayPlanTrialResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepayPlanTrial(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepayPlanTrialWithCallback invokes the finmall.GetRepayPlanTrial API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getrepayplantrial.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepayPlanTrialWithCallback(request *GetRepayPlanTrialRequest, callback func(response *GetRepayPlanTrialResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepayPlanTrialResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepayPlanTrial(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepayPlanTrialRequest is the request struct for api GetRepayPlanTrial
+type GetRepayPlanTrialRequest struct {
+	*requests.RpcRequest
+	CreditId  string `position:"Query" name:"CreditId"`
+	ProductId string `position:"Query" name:"ProductId"`
+	UserId    string `position:"Query" name:"UserId"`
+}
+
+// GetRepayPlanTrialResponse is the response struct for api GetRepayPlanTrial
+type GetRepayPlanTrialResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetRepayPlanTrialRequest creates a request to invoke GetRepayPlanTrial API
+func CreateGetRepayPlanTrialRequest() (request *GetRepayPlanTrialRequest) {
+	request = &GetRepayPlanTrialRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetRepayPlanTrial", "finmall", "openAPI")
+	return
+}
+
+// CreateGetRepayPlanTrialResponse creates a response to parse from GetRepayPlanTrial response
+func CreateGetRepayPlanTrialResponse() (response *GetRepayPlanTrialResponse) {
+	response = &GetRepayPlanTrialResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/finmall/get_sign_contract_url.go

@@ -0,0 +1,110 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetSignContractUrl invokes the finmall.GetSignContractUrl API synchronously
+// api document: https://help.aliyun.com/api/finmall/getsigncontracturl.html
+func (client *Client) GetSignContractUrl(request *GetSignContractUrlRequest) (response *GetSignContractUrlResponse, err error) {
+	response = CreateGetSignContractUrlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetSignContractUrlWithChan invokes the finmall.GetSignContractUrl API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getsigncontracturl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetSignContractUrlWithChan(request *GetSignContractUrlRequest) (<-chan *GetSignContractUrlResponse, <-chan error) {
+	responseChan := make(chan *GetSignContractUrlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetSignContractUrl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetSignContractUrlWithCallback invokes the finmall.GetSignContractUrl API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getsigncontracturl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetSignContractUrlWithCallback(request *GetSignContractUrlRequest, callback func(response *GetSignContractUrlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetSignContractUrlResponse
+		var err error
+		defer close(result)
+		response, err = client.GetSignContractUrl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetSignContractUrlRequest is the request struct for api GetSignContractUrl
+type GetSignContractUrlRequest struct {
+	*requests.RpcRequest
+	ExtInfo   string `position:"Query" name:"ExtInfo"`
+	BizId     string `position:"Query" name:"BizId"`
+	SceneId   string `position:"Query" name:"SceneId"`
+	ReturnUrl string `position:"Query" name:"ReturnUrl"`
+	UserId    string `position:"Query" name:"UserId"`
+}
+
+// GetSignContractUrlResponse is the response struct for api GetSignContractUrl
+type GetSignContractUrlResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetSignContractUrlRequest creates a request to invoke GetSignContractUrl API
+func CreateGetSignContractUrlRequest() (request *GetSignContractUrlRequest) {
+	request = &GetSignContractUrlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetSignContractUrl", "finmall", "openAPI")
+	return
+}
+
+// CreateGetSignContractUrlResponse creates a response to parse from GetSignContractUrl response
+func CreateGetSignContractUrlResponse() (response *GetSignContractUrlResponse) {
+	response = &GetSignContractUrlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/finmall/get_trade_data.go

@@ -0,0 +1,107 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetTradeData invokes the finmall.GetTradeData API synchronously
+// api document: https://help.aliyun.com/api/finmall/gettradedata.html
+func (client *Client) GetTradeData(request *GetTradeDataRequest) (response *GetTradeDataResponse, err error) {
+	response = CreateGetTradeDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTradeDataWithChan invokes the finmall.GetTradeData API asynchronously
+// api document: https://help.aliyun.com/api/finmall/gettradedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTradeDataWithChan(request *GetTradeDataRequest) (<-chan *GetTradeDataResponse, <-chan error) {
+	responseChan := make(chan *GetTradeDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTradeData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTradeDataWithCallback invokes the finmall.GetTradeData API asynchronously
+// api document: https://help.aliyun.com/api/finmall/gettradedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTradeDataWithCallback(request *GetTradeDataRequest, callback func(response *GetTradeDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTradeDataResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTradeData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTradeDataRequest is the request struct for api GetTradeData
+type GetTradeDataRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// GetTradeDataResponse is the response struct for api GetTradeData
+type GetTradeDataResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetTradeDataRequest creates a request to invoke GetTradeData API
+func CreateGetTradeDataRequest() (request *GetTradeDataRequest) {
+	request = &GetTradeDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetTradeData", "finmall", "openAPI")
+	return
+}
+
+// CreateGetTradeDataResponse creates a response to parse from GetTradeData response
+func CreateGetTradeDataResponse() (response *GetTradeDataResponse) {
+	response = &GetTradeDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/finmall/get_user_info_authorization_agreement.go

@@ -0,0 +1,108 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetUserInfoAuthorizationAgreement invokes the finmall.GetUserInfoAuthorizationAgreement API synchronously
+// api document: https://help.aliyun.com/api/finmall/getuserinfoauthorizationagreement.html
+func (client *Client) GetUserInfoAuthorizationAgreement(request *GetUserInfoAuthorizationAgreementRequest) (response *GetUserInfoAuthorizationAgreementResponse, err error) {
+	response = CreateGetUserInfoAuthorizationAgreementResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetUserInfoAuthorizationAgreementWithChan invokes the finmall.GetUserInfoAuthorizationAgreement API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getuserinfoauthorizationagreement.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetUserInfoAuthorizationAgreementWithChan(request *GetUserInfoAuthorizationAgreementRequest) (<-chan *GetUserInfoAuthorizationAgreementResponse, <-chan error) {
+	responseChan := make(chan *GetUserInfoAuthorizationAgreementResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetUserInfoAuthorizationAgreement(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetUserInfoAuthorizationAgreementWithCallback invokes the finmall.GetUserInfoAuthorizationAgreement API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getuserinfoauthorizationagreement.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetUserInfoAuthorizationAgreementWithCallback(request *GetUserInfoAuthorizationAgreementRequest, callback func(response *GetUserInfoAuthorizationAgreementResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetUserInfoAuthorizationAgreementResponse
+		var err error
+		defer close(result)
+		response, err = client.GetUserInfoAuthorizationAgreement(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetUserInfoAuthorizationAgreementRequest is the request struct for api GetUserInfoAuthorizationAgreement
+type GetUserInfoAuthorizationAgreementRequest struct {
+	*requests.RpcRequest
+	CreditId    string `position:"Query" name:"CreditId"`
+	FundPartyId string `position:"Query" name:"FundPartyId"`
+	UserId      string `position:"Query" name:"UserId"`
+}
+
+// GetUserInfoAuthorizationAgreementResponse is the response struct for api GetUserInfoAuthorizationAgreement
+type GetUserInfoAuthorizationAgreementResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetUserInfoAuthorizationAgreementRequest creates a request to invoke GetUserInfoAuthorizationAgreement API
+func CreateGetUserInfoAuthorizationAgreementRequest() (request *GetUserInfoAuthorizationAgreementRequest) {
+	request = &GetUserInfoAuthorizationAgreementRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetUserInfoAuthorizationAgreement", "finmall", "openAPI")
+	return
+}
+
+// CreateGetUserInfoAuthorizationAgreementResponse creates a response to parse from GetUserInfoAuthorizationAgreement response
+func CreateGetUserInfoAuthorizationAgreementResponse() (response *GetUserInfoAuthorizationAgreementResponse) {
+	response = &GetUserInfoAuthorizationAgreementResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/finmall/get_zhima_score.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetZhimaScore invokes the finmall.GetZhimaScore API synchronously
+// api document: https://help.aliyun.com/api/finmall/getzhimascore.html
+func (client *Client) GetZhimaScore(request *GetZhimaScoreRequest) (response *GetZhimaScoreResponse, err error) {
+	response = CreateGetZhimaScoreResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetZhimaScoreWithChan invokes the finmall.GetZhimaScore API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getzhimascore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetZhimaScoreWithChan(request *GetZhimaScoreRequest) (<-chan *GetZhimaScoreResponse, <-chan error) {
+	responseChan := make(chan *GetZhimaScoreResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetZhimaScore(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetZhimaScoreWithCallback invokes the finmall.GetZhimaScore API asynchronously
+// api document: https://help.aliyun.com/api/finmall/getzhimascore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetZhimaScoreWithCallback(request *GetZhimaScoreRequest, callback func(response *GetZhimaScoreResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetZhimaScoreResponse
+		var err error
+		defer close(result)
+		response, err = client.GetZhimaScore(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetZhimaScoreRequest is the request struct for api GetZhimaScore
+type GetZhimaScoreRequest struct {
+	*requests.RpcRequest
+	UserId string `position:"Query" name:"UserId"`
+}
+
+// GetZhimaScoreResponse is the response struct for api GetZhimaScore
+type GetZhimaScoreResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetZhimaScoreRequest creates a request to invoke GetZhimaScore API
+func CreateGetZhimaScoreRequest() (request *GetZhimaScoreRequest) {
+	request = &GetZhimaScoreRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "GetZhimaScore", "finmall", "openAPI")
+	return
+}
+
+// CreateGetZhimaScoreResponse creates a response to parse from GetZhimaScore response
+func CreateGetZhimaScoreResponse() (response *GetZhimaScoreResponse) {
+	response = &GetZhimaScoreResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/finmall/pay_for_order.go

@@ -0,0 +1,108 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// PayForOrder invokes the finmall.PayForOrder API synchronously
+// api document: https://help.aliyun.com/api/finmall/payfororder.html
+func (client *Client) PayForOrder(request *PayForOrderRequest) (response *PayForOrderResponse, err error) {
+	response = CreatePayForOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PayForOrderWithChan invokes the finmall.PayForOrder API asynchronously
+// api document: https://help.aliyun.com/api/finmall/payfororder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PayForOrderWithChan(request *PayForOrderRequest) (<-chan *PayForOrderResponse, <-chan error) {
+	responseChan := make(chan *PayForOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PayForOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PayForOrderWithCallback invokes the finmall.PayForOrder API asynchronously
+// api document: https://help.aliyun.com/api/finmall/payfororder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PayForOrderWithCallback(request *PayForOrderRequest, callback func(response *PayForOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PayForOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.PayForOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PayForOrderRequest is the request struct for api PayForOrder
+type PayForOrderRequest struct {
+	*requests.RpcRequest
+	CreditId   string `position:"Query" name:"CreditId"`
+	SmsIvToken string `position:"Query" name:"SmsIvToken"`
+	UserId     string `position:"Query" name:"UserId"`
+}
+
+// PayForOrderResponse is the response struct for api PayForOrder
+type PayForOrderResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreatePayForOrderRequest creates a request to invoke PayForOrder API
+func CreatePayForOrderRequest() (request *PayForOrderRequest) {
+	request = &PayForOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "PayForOrder", "finmall", "openAPI")
+	return
+}
+
+// CreatePayForOrderResponse creates a response to parse from PayForOrder response
+func CreatePayForOrderResponse() (response *PayForOrderResponse) {
+	response = &PayForOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/finmall/query_fund_party_list.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// QueryFundPartyList invokes the finmall.QueryFundPartyList API synchronously
+// api document: https://help.aliyun.com/api/finmall/queryfundpartylist.html
+func (client *Client) QueryFundPartyList(request *QueryFundPartyListRequest) (response *QueryFundPartyListResponse, err error) {
+	response = CreateQueryFundPartyListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryFundPartyListWithChan invokes the finmall.QueryFundPartyList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/queryfundpartylist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryFundPartyListWithChan(request *QueryFundPartyListRequest) (<-chan *QueryFundPartyListResponse, <-chan error) {
+	responseChan := make(chan *QueryFundPartyListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryFundPartyList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryFundPartyListWithCallback invokes the finmall.QueryFundPartyList API asynchronously
+// api document: https://help.aliyun.com/api/finmall/queryfundpartylist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryFundPartyListWithCallback(request *QueryFundPartyListRequest, callback func(response *QueryFundPartyListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryFundPartyListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryFundPartyList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryFundPartyListRequest is the request struct for api QueryFundPartyList
+type QueryFundPartyListRequest struct {
+	*requests.RpcRequest
+	UserId string `position:"Query" name:"UserId"`
+}
+
+// QueryFundPartyListResponse is the response struct for api QueryFundPartyList
+type QueryFundPartyListResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateQueryFundPartyListRequest creates a request to invoke QueryFundPartyList API
+func CreateQueryFundPartyListRequest() (request *QueryFundPartyListRequest) {
+	request = &QueryFundPartyListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "QueryFundPartyList", "finmall", "openAPI")
+	return
+}
+
+// CreateQueryFundPartyListResponse creates a response to parse from QueryFundPartyList response
+func CreateQueryFundPartyListResponse() (response *QueryFundPartyListResponse) {
+	response = &QueryFundPartyListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/finmall/query_sign_result.go

@@ -0,0 +1,110 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// QuerySignResult invokes the finmall.QuerySignResult API synchronously
+// api document: https://help.aliyun.com/api/finmall/querysignresult.html
+func (client *Client) QuerySignResult(request *QuerySignResultRequest) (response *QuerySignResultResponse, err error) {
+	response = CreateQuerySignResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySignResultWithChan invokes the finmall.QuerySignResult API asynchronously
+// api document: https://help.aliyun.com/api/finmall/querysignresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySignResultWithChan(request *QuerySignResultRequest) (<-chan *QuerySignResultResponse, <-chan error) {
+	responseChan := make(chan *QuerySignResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySignResult(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySignResultWithCallback invokes the finmall.QuerySignResult API asynchronously
+// api document: https://help.aliyun.com/api/finmall/querysignresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySignResultWithCallback(request *QuerySignResultRequest, callback func(response *QuerySignResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySignResultResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySignResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySignResultRequest is the request struct for api QuerySignResult
+type QuerySignResultRequest struct {
+	*requests.RpcRequest
+	ExtInfo string `position:"Query" name:"ExtInfo"`
+	BizId   string `position:"Query" name:"BizId"`
+	SceneId string `position:"Query" name:"SceneId"`
+	Type    string `position:"Query" name:"Type"`
+	UserId  string `position:"Query" name:"UserId"`
+}
+
+// QuerySignResultResponse is the response struct for api QuerySignResult
+type QuerySignResultResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQuerySignResultRequest creates a request to invoke QuerySignResult API
+func CreateQuerySignResultRequest() (request *QuerySignResultRequest) {
+	request = &QuerySignResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "QuerySignResult", "finmall", "openAPI")
+	return
+}
+
+// CreateQuerySignResultResponse creates a response to parse from QuerySignResult response
+func CreateQuerySignResultResponse() (response *QuerySignResultResponse) {
+	response = &QuerySignResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/finmall/query_trial_records.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// QueryTrialRecords invokes the finmall.QueryTrialRecords API synchronously
+// api document: https://help.aliyun.com/api/finmall/querytrialrecords.html
+func (client *Client) QueryTrialRecords(request *QueryTrialRecordsRequest) (response *QueryTrialRecordsResponse, err error) {
+	response = CreateQueryTrialRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTrialRecordsWithChan invokes the finmall.QueryTrialRecords API asynchronously
+// api document: https://help.aliyun.com/api/finmall/querytrialrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTrialRecordsWithChan(request *QueryTrialRecordsRequest) (<-chan *QueryTrialRecordsResponse, <-chan error) {
+	responseChan := make(chan *QueryTrialRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTrialRecords(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTrialRecordsWithCallback invokes the finmall.QueryTrialRecords API asynchronously
+// api document: https://help.aliyun.com/api/finmall/querytrialrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTrialRecordsWithCallback(request *QueryTrialRecordsRequest, callback func(response *QueryTrialRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTrialRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTrialRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTrialRecordsRequest is the request struct for api QueryTrialRecords
+type QueryTrialRecordsRequest struct {
+	*requests.RpcRequest
+	UserId string `position:"Query" name:"UserId"`
+}
+
+// QueryTrialRecordsResponse is the response struct for api QueryTrialRecords
+type QueryTrialRecordsResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateQueryTrialRecordsRequest creates a request to invoke QueryTrialRecords API
+func CreateQueryTrialRecordsRequest() (request *QueryTrialRecordsRequest) {
+	request = &QueryTrialRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "QueryTrialRecords", "finmall", "openAPI")
+	return
+}
+
+// CreateQueryTrialRecordsResponse creates a response to parse from QueryTrialRecords response
+func CreateQueryTrialRecordsResponse() (response *QueryTrialRecordsResponse) {
+	response = &QueryTrialRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/finmall/save_authentication_info.go

@@ -0,0 +1,120 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SaveAuthenticationInfo invokes the finmall.SaveAuthenticationInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/saveauthenticationinfo.html
+func (client *Client) SaveAuthenticationInfo(request *SaveAuthenticationInfoRequest) (response *SaveAuthenticationInfoResponse, err error) {
+	response = CreateSaveAuthenticationInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveAuthenticationInfoWithChan invokes the finmall.SaveAuthenticationInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/saveauthenticationinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveAuthenticationInfoWithChan(request *SaveAuthenticationInfoRequest) (<-chan *SaveAuthenticationInfoResponse, <-chan error) {
+	responseChan := make(chan *SaveAuthenticationInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveAuthenticationInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveAuthenticationInfoWithCallback invokes the finmall.SaveAuthenticationInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/saveauthenticationinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveAuthenticationInfoWithCallback(request *SaveAuthenticationInfoRequest, callback func(response *SaveAuthenticationInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveAuthenticationInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveAuthenticationInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveAuthenticationInfoRequest is the request struct for api SaveAuthenticationInfo
+type SaveAuthenticationInfoRequest struct {
+	*requests.RpcRequest
+	IdCardNumber         string `position:"Query" name:"IdCardNumber"`
+	Address              string `position:"Query" name:"Address"`
+	EmployeeEmail        string `position:"Query" name:"EmployeeEmail"`
+	EmployeePhoneNumber  string `position:"Query" name:"EmployeePhoneNumber"`
+	PhoneNumber          string `position:"Query" name:"PhoneNumber"`
+	BusinessLicense      string `position:"Query" name:"BusinessLicense"`
+	LegalPersonName      string `position:"Query" name:"LegalPersonName"`
+	EnterpriseName       string `position:"Query" name:"EnterpriseName"`
+	AuthenticateType     string `position:"Query" name:"AuthenticateType"`
+	UserId               string `position:"Query" name:"UserId"`
+	ZhimaReturnUrl       string `position:"Query" name:"ZhimaReturnUrl"`
+	BankCard             string `position:"Query" name:"BankCard"`
+	Email                string `position:"Query" name:"Email"`
+	EmployeeName         string `position:"Query" name:"EmployeeName"`
+	EmployeeIdCardNumber string `position:"Query" name:"EmployeeIdCardNumber"`
+}
+
+// SaveAuthenticationInfoResponse is the response struct for api SaveAuthenticationInfo
+type SaveAuthenticationInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      bool   `json:"Data" xml:"Data"`
+}
+
+// CreateSaveAuthenticationInfoRequest creates a request to invoke SaveAuthenticationInfo API
+func CreateSaveAuthenticationInfoRequest() (request *SaveAuthenticationInfoRequest) {
+	request = &SaveAuthenticationInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "SaveAuthenticationInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateSaveAuthenticationInfoResponse creates a response to parse from SaveAuthenticationInfo response
+func CreateSaveAuthenticationInfoResponse() (response *SaveAuthenticationInfoResponse) {
+	response = &SaveAuthenticationInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/finmall/sign_loan_agreement.go

@@ -0,0 +1,108 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SignLoanAgreement invokes the finmall.SignLoanAgreement API synchronously
+// api document: https://help.aliyun.com/api/finmall/signloanagreement.html
+func (client *Client) SignLoanAgreement(request *SignLoanAgreementRequest) (response *SignLoanAgreementResponse, err error) {
+	response = CreateSignLoanAgreementResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SignLoanAgreementWithChan invokes the finmall.SignLoanAgreement API asynchronously
+// api document: https://help.aliyun.com/api/finmall/signloanagreement.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignLoanAgreementWithChan(request *SignLoanAgreementRequest) (<-chan *SignLoanAgreementResponse, <-chan error) {
+	responseChan := make(chan *SignLoanAgreementResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SignLoanAgreement(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SignLoanAgreementWithCallback invokes the finmall.SignLoanAgreement API asynchronously
+// api document: https://help.aliyun.com/api/finmall/signloanagreement.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignLoanAgreementWithCallback(request *SignLoanAgreementRequest, callback func(response *SignLoanAgreementResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SignLoanAgreementResponse
+		var err error
+		defer close(result)
+		response, err = client.SignLoanAgreement(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SignLoanAgreementRequest is the request struct for api SignLoanAgreement
+type SignLoanAgreementRequest struct {
+	*requests.RpcRequest
+	CreditId string `position:"Query" name:"CreditId"`
+	Reserved string `position:"Query" name:"Reserved"`
+	UserId   string `position:"Query" name:"UserId"`
+}
+
+// SignLoanAgreementResponse is the response struct for api SignLoanAgreement
+type SignLoanAgreementResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateSignLoanAgreementRequest creates a request to invoke SignLoanAgreement API
+func CreateSignLoanAgreementRequest() (request *SignLoanAgreementRequest) {
+	request = &SignLoanAgreementRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "SignLoanAgreement", "finmall", "openAPI")
+	return
+}
+
+// CreateSignLoanAgreementResponse creates a response to parse from SignLoanAgreement response
+func CreateSignLoanAgreementResponse() (response *SignLoanAgreementResponse) {
+	response = &SignLoanAgreementResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/finmall/sign_result_notify.go

@@ -0,0 +1,111 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SignResultNotify invokes the finmall.SignResultNotify API synchronously
+// api document: https://help.aliyun.com/api/finmall/signresultnotify.html
+func (client *Client) SignResultNotify(request *SignResultNotifyRequest) (response *SignResultNotifyResponse, err error) {
+	response = CreateSignResultNotifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SignResultNotifyWithChan invokes the finmall.SignResultNotify API asynchronously
+// api document: https://help.aliyun.com/api/finmall/signresultnotify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignResultNotifyWithChan(request *SignResultNotifyRequest) (<-chan *SignResultNotifyResponse, <-chan error) {
+	responseChan := make(chan *SignResultNotifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SignResultNotify(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SignResultNotifyWithCallback invokes the finmall.SignResultNotify API asynchronously
+// api document: https://help.aliyun.com/api/finmall/signresultnotify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignResultNotifyWithCallback(request *SignResultNotifyRequest, callback func(response *SignResultNotifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SignResultNotifyResponse
+		var err error
+		defer close(result)
+		response, err = client.SignResultNotify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SignResultNotifyRequest is the request struct for api SignResultNotify
+type SignResultNotifyRequest struct {
+	*requests.RpcRequest
+	DocId         string           `position:"Query" name:"DocId"`
+	DocContent    string           `position:"Body" name:"DocContent"`
+	Sign          string           `position:"Query" name:"Sign"`
+	ResultCode    requests.Integer `position:"Query" name:"ResultCode"`
+	Time          requests.Integer `position:"Query" name:"Time"`
+	TransactionId string           `position:"Query" name:"TransactionId"`
+	ResultDesc    string           `position:"Query" name:"ResultDesc"`
+}
+
+// SignResultNotifyResponse is the response struct for api SignResultNotify
+type SignResultNotifyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateSignResultNotifyRequest creates a request to invoke SignResultNotify API
+func CreateSignResultNotifyRequest() (request *SignResultNotifyRequest) {
+	request = &SignResultNotifyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "SignResultNotify", "finmall", "openAPI")
+	return
+}
+
+// CreateSignResultNotifyResponse creates a response to parse from SignResultNotify response
+func CreateSignResultNotifyResponse() (response *SignResultNotifyResponse) {
+	response = &SignResultNotifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/finmall/signed_page_result.go

@@ -0,0 +1,112 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SignedPageResult invokes the finmall.SignedPageResult API synchronously
+// api document: https://help.aliyun.com/api/finmall/signedpageresult.html
+func (client *Client) SignedPageResult(request *SignedPageResultRequest) (response *SignedPageResultResponse, err error) {
+	response = CreateSignedPageResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SignedPageResultWithChan invokes the finmall.SignedPageResult API asynchronously
+// api document: https://help.aliyun.com/api/finmall/signedpageresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignedPageResultWithChan(request *SignedPageResultRequest) (<-chan *SignedPageResultResponse, <-chan error) {
+	responseChan := make(chan *SignedPageResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SignedPageResult(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SignedPageResultWithCallback invokes the finmall.SignedPageResult API asynchronously
+// api document: https://help.aliyun.com/api/finmall/signedpageresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignedPageResultWithCallback(request *SignedPageResultRequest, callback func(response *SignedPageResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SignedPageResultResponse
+		var err error
+		defer close(result)
+		response, err = client.SignedPageResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SignedPageResultRequest is the request struct for api SignedPageResult
+type SignedPageResultRequest struct {
+	*requests.RpcRequest
+	DownloadUrl   string           `position:"Query" name:"DownloadUrl"`
+	Digest        string           `position:"Query" name:"Digest"`
+	ViewUrl       string           `position:"Query" name:"ViewUrl"`
+	ResultCode    requests.Integer `position:"Query" name:"ResultCode"`
+	TransactionId string           `position:"Query" name:"TransactionId"`
+	ResultDesc    string           `position:"Query" name:"ResultDesc"`
+	Timestamp     string           `position:"Query" name:"Timestamp"`
+}
+
+// SignedPageResultResponse is the response struct for api SignedPageResult
+type SignedPageResultResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateSignedPageResultRequest creates a request to invoke SignedPageResult API
+func CreateSignedPageResultRequest() (request *SignedPageResultRequest) {
+	request = &SignedPageResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "SignedPageResult", "finmall", "openAPI")
+	return
+}
+
+// CreateSignedPageResultResponse creates a response to parse from SignedPageResult response
+func CreateSignedPageResultResponse() (response *SignedPageResultResponse) {
+	response = &SignedPageResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/finmall/struct_data.go

@@ -0,0 +1,92 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Data is a nested struct in finmall response
+type Data struct {
+	PhoneNumber          string `json:"PhoneNumber" xml:"PhoneNumber"`
+	ExpiryDate           string `json:"ExpiryDate" xml:"ExpiryDate"`
+	BusinessLicense      string `json:"BusinessLicense" xml:"BusinessLicense"`
+	FineInterest         string `json:"FineInterest" xml:"FineInterest"`
+	RepayMethod          string `json:"RepayMethod" xml:"RepayMethod"`
+	DebtorName           string `json:"DebtorName" xml:"DebtorName"`
+	ValidateTime         string `json:"ValidateTime" xml:"ValidateTime"`
+	DownPaymentRate      string `json:"DownPaymentRate" xml:"DownPaymentRate"`
+	ValidateState        string `json:"ValidateState" xml:"ValidateState"`
+	Score                string `json:"Score" xml:"Score"`
+	Content              string `json:"Content" xml:"Content"`
+	CreditId             string `json:"CreditId" xml:"CreditId"`
+	InterInter           string `json:"InterInter" xml:"InterInter"`
+	InterAmt             string `json:"InterAmt" xml:"InterAmt"`
+	DailyRate            string `json:"DailyRate" xml:"DailyRate"`
+	FinancialInfo        string `json:"FinancialInfo" xml:"FinancialInfo"`
+	Plan                 string `json:"Plan" xml:"Plan"`
+	InterestRate         string `json:"InterestRate" xml:"InterestRate"`
+	BalAmt               string `json:"BalAmt" xml:"BalAmt"`
+	Email                string `json:"Email" xml:"Email"`
+	Prepayment           string `json:"Prepayment" xml:"Prepayment"`
+	OverdueId            string `json:"OverdueId" xml:"OverdueId"`
+	LoanRate             string `json:"LoanRate" xml:"LoanRate"`
+	FineInter            string `json:"FineInter" xml:"FineInter"`
+	FoundPartyId         string `json:"FoundPartyId" xml:"FoundPartyId"`
+	YearRate             string `json:"YearRate" xml:"YearRate"`
+	LoanSubject          string `json:"LoanSubject" xml:"LoanSubject"`
+	Status               string `json:"Status" xml:"Status"`
+	IdCardFrontPage      string `json:"IdCardFrontPage" xml:"IdCardFrontPage"`
+	IdCardBackPage       string `json:"IdCardBackPage" xml:"IdCardBackPage"`
+	ProductName          string `json:"ProductName" xml:"ProductName"`
+	ProductId            string `json:"ProductId" xml:"ProductId"`
+	CreateTime           string `json:"CreateTime" xml:"CreateTime"`
+	EnterpriseName       string `json:"EnterpriseName" xml:"EnterpriseName"`
+	DownloadUrl          string `json:"DownloadUrl" xml:"DownloadUrl"`
+	Amount               string `json:"Amount" xml:"Amount"`
+	ViewUrl              string `json:"ViewUrl" xml:"ViewUrl"`
+	Terms                string `json:"Terms" xml:"Terms"`
+	LineOfCredit         string `json:"LineOfCredit" xml:"LineOfCredit"`
+	Comment              string `json:"Comment" xml:"Comment"`
+	OverdueType          string `json:"OverdueType" xml:"OverdueType"`
+	CreditAccount        string `json:"CreditAccount" xml:"CreditAccount"`
+	LendingOrganizations string `json:"LendingOrganizations" xml:"LendingOrganizations"`
+	UserState            string `json:"UserState" xml:"UserState"`
+	UpdateDate           string `json:"UpdateDate" xml:"UpdateDate"`
+	OverdueStartDate     string `json:"OverdueStartDate" xml:"OverdueStartDate"`
+	IdCardNumber         string `json:"IdCardNumber" xml:"IdCardNumber"`
+	Principal            string `json:"Principal" xml:"Principal"`
+	FundPartyId          string `json:"FundPartyId" xml:"FundPartyId"`
+	FoundPartyName       string `json:"FoundPartyName" xml:"FoundPartyName"`
+	FineAmount           string `json:"FineAmount" xml:"FineAmount"`
+	PrincipalLimit       string `json:"PrincipalLimit" xml:"PrincipalLimit"`
+	Address              string `json:"Address" xml:"Address"`
+	InterestOfInterest   string `json:"InterestOfInterest" xml:"InterestOfInterest"`
+	LegalPersonName      string `json:"LegalPersonName" xml:"LegalPersonName"`
+	ZhimaReturnUrl       string `json:"ZhimaReturnUrl" xml:"ZhimaReturnUrl"`
+	Url                  string `json:"Url" xml:"Url"`
+	TradeDataId          string `json:"TradeDataId" xml:"TradeDataId"`
+	RepayPhase           string `json:"RepayPhase" xml:"RepayPhase"`
+	CreateDate           string `json:"CreateDate" xml:"CreateDate"`
+	RepayPrincipalAmount string `json:"RepayPrincipalAmount" xml:"RepayPrincipalAmount"`
+	BankCard             string `json:"BankCard" xml:"BankCard"`
+	State                string `json:"State" xml:"State"`
+	FineAmt              string `json:"FineAmt" xml:"FineAmt"`
+	CustomId             string `json:"CustomId" xml:"CustomId"`
+	CreditApproveComment string `json:"CreditApproveComment" xml:"CreditApproveComment"`
+	TotalLoanAmount      string `json:"TotalLoanAmount" xml:"TotalLoanAmount"`
+	LoanBalance          string `json:"LoanBalance" xml:"LoanBalance"`
+	DownPaymentAmount    string `json:"DownPaymentAmount" xml:"DownPaymentAmount"`
+	InterestAmount       string `json:"InterestAmount" xml:"InterestAmount"`
+	OverdueDays          string `json:"OverdueDays" xml:"OverdueDays"`
+	ReturnCode           string `json:"ReturnCode" xml:"ReturnCode"`
+}

+ 118 - 0
services/finmall/update_authentication_info.go

@@ -0,0 +1,118 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateAuthenticationInfo invokes the finmall.UpdateAuthenticationInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/updateauthenticationinfo.html
+func (client *Client) UpdateAuthenticationInfo(request *UpdateAuthenticationInfoRequest) (response *UpdateAuthenticationInfoResponse, err error) {
+	response = CreateUpdateAuthenticationInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateAuthenticationInfoWithChan invokes the finmall.UpdateAuthenticationInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/updateauthenticationinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateAuthenticationInfoWithChan(request *UpdateAuthenticationInfoRequest) (<-chan *UpdateAuthenticationInfoResponse, <-chan error) {
+	responseChan := make(chan *UpdateAuthenticationInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateAuthenticationInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateAuthenticationInfoWithCallback invokes the finmall.UpdateAuthenticationInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/updateauthenticationinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateAuthenticationInfoWithCallback(request *UpdateAuthenticationInfoRequest, callback func(response *UpdateAuthenticationInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateAuthenticationInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateAuthenticationInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateAuthenticationInfoRequest is the request struct for api UpdateAuthenticationInfo
+type UpdateAuthenticationInfoRequest struct {
+	*requests.RpcRequest
+	IdCardNumber         string `position:"Body" name:"IdCardNumber"`
+	Address              string `position:"Body" name:"Address"`
+	EmployeeEmail        string `position:"Body" name:"EmployeeEmail"`
+	EmployeePhoneNumber  string `position:"Body" name:"EmployeePhoneNumber"`
+	PhoneNumber          string `position:"Body" name:"PhoneNumber"`
+	BusinessLicense      string `position:"Body" name:"BusinessLicense"`
+	LegalPersonName      string `position:"Body" name:"LegalPersonName"`
+	UserId               string `position:"Body" name:"UserId"`
+	SmsIvToken           string `position:"Body" name:"SmsIvToken"`
+	BankCard             string `position:"Body" name:"BankCard"`
+	Email                string `position:"Body" name:"Email"`
+	EmployeeName         string `position:"Body" name:"EmployeeName"`
+	EmployeeIdCardNumber string `position:"Body" name:"EmployeeIdCardNumber"`
+}
+
+// UpdateAuthenticationInfoResponse is the response struct for api UpdateAuthenticationInfo
+type UpdateAuthenticationInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      bool   `json:"Data" xml:"Data"`
+}
+
+// CreateUpdateAuthenticationInfoRequest creates a request to invoke UpdateAuthenticationInfo API
+func CreateUpdateAuthenticationInfoRequest() (request *UpdateAuthenticationInfoRequest) {
+	request = &UpdateAuthenticationInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "UpdateAuthenticationInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateUpdateAuthenticationInfoResponse creates a response to parse from UpdateAuthenticationInfo response
+func CreateUpdateAuthenticationInfoResponse() (response *UpdateAuthenticationInfoResponse) {
+	response = &UpdateAuthenticationInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/finmall/update_enterprise_custom_info.go

@@ -0,0 +1,119 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateEnterpriseCustomInfo invokes the finmall.UpdateEnterpriseCustomInfo API synchronously
+// api document: https://help.aliyun.com/api/finmall/updateenterprisecustominfo.html
+func (client *Client) UpdateEnterpriseCustomInfo(request *UpdateEnterpriseCustomInfoRequest) (response *UpdateEnterpriseCustomInfoResponse, err error) {
+	response = CreateUpdateEnterpriseCustomInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateEnterpriseCustomInfoWithChan invokes the finmall.UpdateEnterpriseCustomInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/updateenterprisecustominfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateEnterpriseCustomInfoWithChan(request *UpdateEnterpriseCustomInfoRequest) (<-chan *UpdateEnterpriseCustomInfoResponse, <-chan error) {
+	responseChan := make(chan *UpdateEnterpriseCustomInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateEnterpriseCustomInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateEnterpriseCustomInfoWithCallback invokes the finmall.UpdateEnterpriseCustomInfo API asynchronously
+// api document: https://help.aliyun.com/api/finmall/updateenterprisecustominfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateEnterpriseCustomInfoWithCallback(request *UpdateEnterpriseCustomInfoRequest, callback func(response *UpdateEnterpriseCustomInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateEnterpriseCustomInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateEnterpriseCustomInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateEnterpriseCustomInfoRequest is the request struct for api UpdateEnterpriseCustomInfo
+type UpdateEnterpriseCustomInfoRequest struct {
+	*requests.RpcRequest
+	IdCardNumber    string `position:"Query" name:"IdCardNumber"`
+	Address         string `position:"Query" name:"Address"`
+	IdCardFrontPage string `position:"Query" name:"IdCardFrontPage"`
+	PhoneNumber     string `position:"Query" name:"PhoneNumber"`
+	BusinessLicense string `position:"Query" name:"BusinessLicense"`
+	IdCardBackPage  string `position:"Query" name:"IdCardBackPage"`
+	LegalPersonName string `position:"Query" name:"LegalPersonName"`
+	EnterpriseName  string `position:"Query" name:"EnterpriseName"`
+	UserId          string `position:"Query" name:"UserId"`
+	LoanSubject     string `position:"Query" name:"LoanSubject"`
+	ZhimaReturnUrl  string `position:"Query" name:"ZhimaReturnUrl"`
+	SmsIvToken      string `position:"Query" name:"SmsIvToken"`
+	BankCard        string `position:"Query" name:"BankCard"`
+	Email           string `position:"Query" name:"Email"`
+}
+
+// UpdateEnterpriseCustomInfoResponse is the response struct for api UpdateEnterpriseCustomInfo
+type UpdateEnterpriseCustomInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateUpdateEnterpriseCustomInfoRequest creates a request to invoke UpdateEnterpriseCustomInfo API
+func CreateUpdateEnterpriseCustomInfoRequest() (request *UpdateEnterpriseCustomInfoRequest) {
+	request = &UpdateEnterpriseCustomInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "UpdateEnterpriseCustomInfo", "finmall", "openAPI")
+	return
+}
+
+// CreateUpdateEnterpriseCustomInfoResponse creates a response to parse from UpdateEnterpriseCustomInfo response
+func CreateUpdateEnterpriseCustomInfoResponse() (response *UpdateEnterpriseCustomInfoResponse) {
+	response = &UpdateEnterpriseCustomInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/finmall/upload_custom_id_image.go

@@ -0,0 +1,109 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UploadCustomIDImage invokes the finmall.UploadCustomIDImage API synchronously
+// api document: https://help.aliyun.com/api/finmall/uploadcustomidimage.html
+func (client *Client) UploadCustomIDImage(request *UploadCustomIDImageRequest) (response *UploadCustomIDImageResponse, err error) {
+	response = CreateUploadCustomIDImageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UploadCustomIDImageWithChan invokes the finmall.UploadCustomIDImage API asynchronously
+// api document: https://help.aliyun.com/api/finmall/uploadcustomidimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UploadCustomIDImageWithChan(request *UploadCustomIDImageRequest) (<-chan *UploadCustomIDImageResponse, <-chan error) {
+	responseChan := make(chan *UploadCustomIDImageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UploadCustomIDImage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UploadCustomIDImageWithCallback invokes the finmall.UploadCustomIDImage API asynchronously
+// api document: https://help.aliyun.com/api/finmall/uploadcustomidimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UploadCustomIDImageWithCallback(request *UploadCustomIDImageRequest, callback func(response *UploadCustomIDImageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UploadCustomIDImageResponse
+		var err error
+		defer close(result)
+		response, err = client.UploadCustomIDImage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UploadCustomIDImageRequest is the request struct for api UploadCustomIDImage
+type UploadCustomIDImageRequest struct {
+	*requests.RpcRequest
+	ImageType string `position:"Body" name:"ImageType"`
+	Side      string `position:"Body" name:"Side"`
+	ImageFile string `position:"Body" name:"ImageFile"`
+	UserId    string `position:"Body" name:"UserId"`
+}
+
+// UploadCustomIDImageResponse is the response struct for api UploadCustomIDImage
+type UploadCustomIDImageResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateUploadCustomIDImageRequest creates a request to invoke UploadCustomIDImage API
+func CreateUploadCustomIDImageRequest() (request *UploadCustomIDImageRequest) {
+	request = &UploadCustomIDImageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "UploadCustomIDImage", "finmall", "openAPI")
+	return
+}
+
+// CreateUploadCustomIDImageResponse creates a response to parse from UploadCustomIDImage response
+func CreateUploadCustomIDImageResponse() (response *UploadCustomIDImageResponse) {
+	response = &UploadCustomIDImageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/finmall/verify_customer.go

@@ -0,0 +1,118 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// VerifyCustomer invokes the finmall.VerifyCustomer API synchronously
+// api document: https://help.aliyun.com/api/finmall/verifycustomer.html
+func (client *Client) VerifyCustomer(request *VerifyCustomerRequest) (response *VerifyCustomerResponse, err error) {
+	response = CreateVerifyCustomerResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// VerifyCustomerWithChan invokes the finmall.VerifyCustomer API asynchronously
+// api document: https://help.aliyun.com/api/finmall/verifycustomer.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) VerifyCustomerWithChan(request *VerifyCustomerRequest) (<-chan *VerifyCustomerResponse, <-chan error) {
+	responseChan := make(chan *VerifyCustomerResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.VerifyCustomer(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// VerifyCustomerWithCallback invokes the finmall.VerifyCustomer API asynchronously
+// api document: https://help.aliyun.com/api/finmall/verifycustomer.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) VerifyCustomerWithCallback(request *VerifyCustomerRequest, callback func(response *VerifyCustomerResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *VerifyCustomerResponse
+		var err error
+		defer close(result)
+		response, err = client.VerifyCustomer(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// VerifyCustomerRequest is the request struct for api VerifyCustomer
+type VerifyCustomerRequest struct {
+	*requests.RpcRequest
+	IdCardNumber    string `position:"Query" name:"IdCardNumber"`
+	Address         string `position:"Query" name:"Address"`
+	IdCardFrontPage string `position:"Query" name:"IdCardFrontPage"`
+	PhoneNumber     string `position:"Query" name:"PhoneNumber"`
+	BusinessLicense string `position:"Query" name:"BusinessLicense"`
+	IdCardBackPage  string `position:"Query" name:"IdCardBackPage"`
+	LegalPersonName string `position:"Query" name:"LegalPersonName"`
+	EnterpriseName  string `position:"Query" name:"EnterpriseName"`
+	UserId          string `position:"Query" name:"UserId"`
+	LoanSubject     string `position:"Query" name:"LoanSubject"`
+	ZhimaReturnUrl  string `position:"Query" name:"ZhimaReturnUrl"`
+	BankCard        string `position:"Query" name:"BankCard"`
+	Email           string `position:"Query" name:"Email"`
+}
+
+// VerifyCustomerResponse is the response struct for api VerifyCustomer
+type VerifyCustomerResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateVerifyCustomerRequest creates a request to invoke VerifyCustomer API
+func CreateVerifyCustomerRequest() (request *VerifyCustomerRequest) {
+	request = &VerifyCustomerRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "VerifyCustomer", "finmall", "openAPI")
+	return
+}
+
+// CreateVerifyCustomerResponse creates a response to parse from VerifyCustomer response
+func CreateVerifyCustomerResponse() (response *VerifyCustomerResponse) {
+	response = &VerifyCustomerResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/finmall/verify_sms_token.go

@@ -0,0 +1,106 @@
+package finmall
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// VerifySMSToken invokes the finmall.VerifySMSToken API synchronously
+// api document: https://help.aliyun.com/api/finmall/verifysmstoken.html
+func (client *Client) VerifySMSToken(request *VerifySMSTokenRequest) (response *VerifySMSTokenResponse, err error) {
+	response = CreateVerifySMSTokenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// VerifySMSTokenWithChan invokes the finmall.VerifySMSToken API asynchronously
+// api document: https://help.aliyun.com/api/finmall/verifysmstoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) VerifySMSTokenWithChan(request *VerifySMSTokenRequest) (<-chan *VerifySMSTokenResponse, <-chan error) {
+	responseChan := make(chan *VerifySMSTokenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.VerifySMSToken(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// VerifySMSTokenWithCallback invokes the finmall.VerifySMSToken API asynchronously
+// api document: https://help.aliyun.com/api/finmall/verifysmstoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) VerifySMSTokenWithCallback(request *VerifySMSTokenRequest, callback func(response *VerifySMSTokenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *VerifySMSTokenResponse
+		var err error
+		defer close(result)
+		response, err = client.VerifySMSToken(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// VerifySMSTokenRequest is the request struct for api VerifySMSToken
+type VerifySMSTokenRequest struct {
+	*requests.RpcRequest
+	ActionType string `position:"Query" name:"ActionType"`
+	UserId     string `position:"Query" name:"UserId"`
+}
+
+// VerifySMSTokenResponse is the response struct for api VerifySMSToken
+type VerifySMSTokenResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Message   string `json:"Message" xml:"Message"`
+	Code      string `json:"Code" xml:"Code"`
+}
+
+// CreateVerifySMSTokenRequest creates a request to invoke VerifySMSToken API
+func CreateVerifySMSTokenRequest() (request *VerifySMSTokenRequest) {
+	request = &VerifySMSTokenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("finmall", "2018-07-23", "VerifySMSToken", "finmall", "openAPI")
+	return
+}
+
+// CreateVerifySMSTokenResponse creates a response to parse from VerifySMSToken response
+func CreateVerifySMSTokenResponse() (response *VerifySMSTokenResponse) {
+	response = &VerifySMSTokenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}