# nomad_broker_cli
Nomad payment provider aggregation, including make payments, and customs declaration for orders and etc.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.5.1
- Package version: 1.5.1
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python >= 3.6

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import nomad_broker_cli
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import nomad_broker_cli
```

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import time
import nomad_broker_cli
from pprint import pprint
from nomad_broker_cli.api import customs_api
from nomad_broker_cli.model.base_api_response import BaseApiResponse
from nomad_broker_cli.model.customs_code import CustomsCode
from nomad_broker_cli.model.customs_identification_request import CustomsIdentificationRequest
from nomad_broker_cli.model.customs_identification_response import CustomsIdentificationResponse
from nomad_broker_cli.model.customs_payment_redeclare_request import CustomsPaymentRedeclareRequest
from nomad_broker_cli.model.customs_payment_request import CustomsPaymentRequest
from nomad_broker_cli.model.customs_payment_response import CustomsPaymentResponse
from nomad_broker_cli.model.customs_payments_response import CustomsPaymentsResponse
from nomad_broker_cli.model.error_api_response import ErrorApiResponse
from nomad_broker_cli.model.payment_method import PaymentMethod
# Defining the host is optional and defaults to https://nomad.samarkand-global.cn/broker/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = nomad_broker_cli.Configuration(
    host = "https://nomad.samarkand-global.cn/broker/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: authorization
configuration.api_key['authorization'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['authorization'] = 'Bearer'


# Enter a context with an instance of the API client
with nomad_broker_cli.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = customs_api.CustomsApi(api_client)
    merchant = "wechat.prod" # str | Merchant name to payment company, e.g. wechat.prod
customs = CustomsCode("GUANGZHOU_ZS") # CustomsCode | Customs code, available options: GUANGZHOU_ZS, HANGZHOU_ZS, NINGBO, ZHENGZHOU_BS, CHONGQING, SHANGHAI_ZS, SHENZHEN, ZHENGZHOU_ZH_ZS
out_trade_no = "out_trade_no_example" # str | The internal order number of the merchant system (optional)
transaction_id = "transaction_id_example" # str | Payment system internal order number (optional)
sub_order_no = "sub_order_no_example" # str | The internal sub-order number of the merchant system (optional)
sub_order_id = "sub_order_id_example" # str | The internal sub-order number of the payment company system (optional)
payment_method = PaymentMethod("wechatpay") # PaymentMethod | Must be `wechatpay` or `alipay` (optional)

    try:
        # GetCustomsPayment
        api_response = api_instance.get_customs_payment(merchant, customs, out_trade_no=out_trade_no, transaction_id=transaction_id, sub_order_no=sub_order_no, sub_order_id=sub_order_id, payment_method=payment_method)
        pprint(api_response)
    except nomad_broker_cli.ApiException as e:
        print("Exception when calling CustomsApi->get_customs_payment: %s\n" % e)
```

## Documentation for API Endpoints

All URIs are relative to *https://nomad.samarkand-global.cn/broker/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*CustomsApi* | [**get_customs_payment**](docs/CustomsApi.md#get_customs_payment) | **GET** /customs/payment/{merchant} | GetCustomsPayment
*CustomsApi* | [**post_customs_identification**](docs/CustomsApi.md#post_customs_identification) | **POST** /customs/identification/{merchant} | PostCustomsIdentification
*CustomsApi* | [**post_customs_payment**](docs/CustomsApi.md#post_customs_payment) | **POST** /customs/payment/{merchant} | PostCustomsPayment
*CustomsApi* | [**put_customs_payment**](docs/CustomsApi.md#put_customs_payment) | **PUT** /customs/payment/{merchant} | PutCustomsPayment
*PaymentApi* | [**close_payment**](docs/PaymentApi.md#close_payment) | **POST** /payment/close/{merchant}/{order_ref} | ClosePayment
*PaymentApi* | [**create_payment**](docs/PaymentApi.md#create_payment) | **POST** /payment/{merchant} | CreatePayment
*PaymentApi* | [**invoke_payment**](docs/PaymentApi.md#invoke_payment) | **POST** /payment/invocation/{merchant} | InvokePayment
*PaymentApi* | [**query_payment**](docs/PaymentApi.md#query_payment) | **GET** /payment/{merchant} | QueryPayment
*PaymsApi* | [**post_nomad_payment**](docs/PaymsApi.md#post_nomad_payment) | **POST** /payms/{merchant} | PostNomadPayment
*PaymsApi* | [**post_nomad_payment_callback**](docs/PaymsApi.md#post_nomad_payment_callback) | **POST** /payms/callback/{merchant} | PostNomadPaymentCallback
*PaymsApi* | [**query_nomad_payment**](docs/PaymsApi.md#query_nomad_payment) | **GET** /payms/{merchant} | QueryNomadPayment
*PayoutApi* | [**get_abroad_payout**](docs/PayoutApi.md#get_abroad_payout) | **GET** /payout/abroad/{merchant} | GetAbroadPayout
*PayoutApi* | [**get_abroad_payout_bill**](docs/PayoutApi.md#get_abroad_payout_bill) | **GET** /payout/bill/abroad/{merchant} | GetAbroadPayoutBill
*PayoutApi* | [**post_abroad_payout**](docs/PayoutApi.md#post_abroad_payout) | **POST** /payout/abroad/{merchant} | PostAbroadPayout
*PayoutApi* | [**post_abroad_payout_bill**](docs/PayoutApi.md#post_abroad_payout_bill) | **POST** /payout/bill/abroad/{merchant} | PostAbroadPayoutBill
*ProfitApi* | [**delete_profit_receiver**](docs/ProfitApi.md#delete_profit_receiver) | **DELETE** /profit/receiver/{merchant} | DeleteProfitReceiver
*ProfitApi* | [**get_profit_sharing**](docs/ProfitApi.md#get_profit_sharing) | **GET** /profit/sharing/{merchant} | GetProfitSharing
*ProfitApi* | [**post_profit_receiver**](docs/ProfitApi.md#post_profit_receiver) | **POST** /profit/receiver/{merchant} | PostProfitReceiver
*ProfitApi* | [**post_profit_sharing**](docs/ProfitApi.md#post_profit_sharing) | **POST** /profit/sharing/{merchant} | PostProfitSharing
*RefundApi* | [**create_refund**](docs/RefundApi.md#create_refund) | **POST** /refund/{merchant} | CreateRefund
*RefundApi* | [**query_refund**](docs/RefundApi.md#query_refund) | **GET** /refund/{merchant} | QueryRefund


## Documentation For Models

 - [BaseApiResponse](docs/BaseApiResponse.md)
 - [CustomsCode](docs/CustomsCode.md)
 - [CustomsIdentificationRequest](docs/CustomsIdentificationRequest.md)
 - [CustomsIdentificationResponse](docs/CustomsIdentificationResponse.md)
 - [CustomsPaymentOrder](docs/CustomsPaymentOrder.md)
 - [CustomsPaymentRedeclareRequest](docs/CustomsPaymentRedeclareRequest.md)
 - [CustomsPaymentRequest](docs/CustomsPaymentRequest.md)
 - [CustomsPaymentResponse](docs/CustomsPaymentResponse.md)
 - [CustomsPaymentsResponse](docs/CustomsPaymentsResponse.md)
 - [ErrorApiResponse](docs/ErrorApiResponse.md)
 - [GoodsInfo](docs/GoodsInfo.md)
 - [NomadPaymentCallbackRequest](docs/NomadPaymentCallbackRequest.md)
 - [NomadPaymentCallbackResource](docs/NomadPaymentCallbackResource.md)
 - [NomadPaymentRequest](docs/NomadPaymentRequest.md)
 - [NomadPaymentResponse](docs/NomadPaymentResponse.md)
 - [NomadTradeAmount](docs/NomadTradeAmount.md)
 - [NomadTradeNotification](docs/NomadTradeNotification.md)
 - [NomadTradeResponse](docs/NomadTradeResponse.md)
 - [PaymentCloseResponse](docs/PaymentCloseResponse.md)
 - [PaymentDetailResponse](docs/PaymentDetailResponse.md)
 - [PaymentInvocationRequest](docs/PaymentInvocationRequest.md)
 - [PaymentMethod](docs/PaymentMethod.md)
 - [PaymentProduct](docs/PaymentProduct.md)
 - [PaymentProductReq](docs/PaymentProductReq.md)
 - [PaymentRequest](docs/PaymentRequest.md)
 - [PaymentResponse](docs/PaymentResponse.md)
 - [PaymentType](docs/PaymentType.md)
 - [PayoutBillRequest](docs/PayoutBillRequest.md)
 - [PayoutRequest](docs/PayoutRequest.md)
 - [PayoutRequestExpressInfo](docs/PayoutRequestExpressInfo.md)
 - [PayoutRequestPayeeInfo](docs/PayoutRequestPayeeInfo.md)
 - [PayoutRequestSellerInfo](docs/PayoutRequestSellerInfo.md)
 - [PayoutResponse](docs/PayoutResponse.md)
 - [ProfitReceiverRequest](docs/ProfitReceiverRequest.md)
 - [ProfitReceiverResponse](docs/ProfitReceiverResponse.md)
 - [ProfitSharingReceiver](docs/ProfitSharingReceiver.md)
 - [ProfitSharingReceiverBase](docs/ProfitSharingReceiverBase.md)
 - [ProfitSharingReceiverReq](docs/ProfitSharingReceiverReq.md)
 - [ProfitSharingRequest](docs/ProfitSharingRequest.md)
 - [ProfitSharingResponse](docs/ProfitSharingResponse.md)
 - [RefundAccount](docs/RefundAccount.md)
 - [RefundRequest](docs/RefundRequest.md)
 - [RefundResponse](docs/RefundResponse.md)


## Documentation For Authorization


## authorization

- **Type**: API key
- **API key parameter name**: app-api-key
- **Location**: URL query string


## Author

ben.song@samarkand.global


## Notes for Large OpenAPI documents
If the OpenAPI document is large, imports in nomad_broker_cli.apis and nomad_broker_cli.models may fail with a
RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1:
Use specific imports for apis and models like:
- `from nomad_broker_cli.api.default_api import DefaultApi`
- `from nomad_broker_cli.model.pet import Pet`

Solution 1:
Before importing the package, adjust the maximum recursion limit as shown below:
```
import sys
sys.setrecursionlimit(1500)
import nomad_broker_cli
from nomad_broker_cli.apis import *
from nomad_broker_cli.models import *
```

