
    T>{iE
                    z   d Z ddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZ ddlZddlZddlmZ ddlZddlZdd	l m!Z! ddl"Z"ddlZddl#Z#ddlZddl$Z$ddl%Z%ddl&Z&ddlmZ dd
l'm(Z(m)Z)m*Z*m+Z+ ddlmZ ddlmZ ddlmZmZ ddl,m-Z- ddlmZ ddlmZ ddl.Z/ddl/m0Z0 ddl1 ddl2 ddl3 ddl4 ddl5 ddl6 ddl7 ddl8 ddl9 ddl: ddl; ddl< ddl= ddl> ddl? ddl@ ddlA ddlB ddlC ddlD ddlE ddlF ddlG ddlH ddlI ddlJ ddlK ddlL ddlM ddlN ddlO ddlP ddlQ ddlR ddlS ddlT ddlU ddlV ddlW ddlX ddlY ddlZ ddl[ ddl\ ddl] ddl^ ddl_ ddl` ddla ddlb ddlc ddld ddle ddlf ddlg ddlh ddli ddlj ddlk ddll ddlm ddln ddlo ddlp ddlq ddlr ddls ddlt ddlu ddlv ddlw ddlx ddly ddlz ddl{ ddl| ddl} ddl~ ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl­ ddlí ddlĭ ddlŭ ddlƭ ddlǭ ddlȭ ddlɭ ddlʭ ddl˭ ddḽ ddlͭ ddlέ ddlϭ ddlЭ ddlѭ ddlҭ ddlӭ ddlԭ ddlխ ddl֭ ddl׭ ddlح ddl٭ ddlڭ ddlۭ ddlܭ ddlݭ ddlޭ ddl߭ ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl  ddl ddl ddl ddl ddl ddl ddl ddl ddl	 ddl
 ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl ddl  ddl! ddl" ddl# ddl$ ddl% ddl& ddl' ddl( ddl) ddl* ddl+ ddl, ddl- ddl. ddl/ ddl0 ddl1 ddl2 ddl3 ddl4 ddl5  G d de6      Z7 G d d      Z8 G d d      Z9 G d de:      Z;y)a  
Cashfree Payment Gateway APIs

Cashfree's Payment Gateway APIs provide developers with a streamlined pathway to integrate advanced payment processing capabilities into their applications, platforms and websites.

The version of the OpenAPI document: 2023-08-01
Contact: developers@cashfree.com
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
    N)
validate_argumentsValidationErrorField	StrictStrStrictBytes	StrictIntStrictFloat
StrictBoolfield_validator	BaseModel)	Annotated)Configuration)ApiResponse)ApiExceptionApiTypeErrorApiValueError)parse)
ThreadPool)overloadOptionalUnion	Awaitable)r   r   )quote)rest)*c                       e Zd ZdZdZy)CFEnvironment      N)__name__
__module____qualname__SANDBOX
PRODUCTION     T/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/cashfree_pg/api_client.pyr   r   B  s    GJr&   r   c                       e Zd Zd Zy)PGWebhookEventc                 .    || _         || _        || _        y N)typerawobject)selfr,   rawBodyr.   s       r'   __init__zPGWebhookEvent.__init__G  s    	r&   N)r    r!   r"   r1   r%   r&   r'   r)   r)   F  s    r&   r)   c                   4   e Zd ZdZdZdZdZdZej                  Z
ej                  Zej                  Zej                  Zej                  Z	dZ	 	 	 	 	 ddee   dee   dee   dee   dee   f
dZd	 Zedd
ee ed      f   dee ed      f   deee    ed      f   deee    ed      f   def
d       Zedd
ee ed      f   dedeee    ed      f   deee    ed      f   def
d       Zedd
ee ed      f   dedeee    ed      f   deee    ed      f   def
d       Zedd
ee ed      f   dedeee    ed      f   deee    ed      f   def
d       Zedd
ee ed      f   dedeee    ed      f   deee    ed      f   def
d       Zedd
ee ed      f   dedee ed      f   dee ed      f   deee    ed      f   deee    ed      f   d ee   defd!       Zedd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   d#eee     ed$      f   defd%       Z!edd
ee ed      f   deee    ed      f   deee    ed      f   d&eee"    ed'      f   def
d(       Z#edd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   def
d)       Z$edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   d,eee%    ed-      f   defd.       Z&edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   d/eee'    ed0      f   defd1       Z(edd
ee ed      f   deee    ed      f   deee    ed      f   d2eee)    ed3      f   def
d4       Z*edd
ee ed      f   dee ed5      f   d*ee ed+      f   deee    ed      f   deee    ed      f   defd6       Z+edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   def
d7       Z,edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   def
d8       Z-edd
ee ed      f   d9ee.e/ef    ed:      f   d;ee ed<      f   deee    ed      f   deee    ed      f   defd=       Z0edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   def
d>       Z1edd
ee ed      f   deee    ed      f   deee    ed      f   d?eee2    ed@      f   def
dA       Z3edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   dBeee4    ed3      f   defdC       Z5edd
ee ed      f   d*ee ed+      f   deee    ed      f   deee    ed      f   deee    edD      f   dEeee    edF      f   deee.e6ee7ee6f   f       edG      f   defdH       Z8edd
ee ed      f   dIee9 edJ      f   deee    ed      f   deee    ed      f   def
dK       Z:edd
ee ed      f   dLee; edM      f   deee    ed      f   deee    ed      f   def
dN       Z<edd
ee ed      f   dOee= edP      f   deee    ed      f   deee    ed      f   def
dQ       Z>edd
ee ed      f   dRee? edS      f   deee    ed      f   deee    ed      f   def
dT       Z@edd
ee ed      f   dUeeA edV      f   deee    ed      f   deee    ed      f   def
dW       ZBedd
ee ed      f   dXee edY      f   deee    ed      f   deee    ed      f   def
dZ       ZCedd
ee ed      f   d[eeD ed\      f   deee    ed      f   deee    ed      f   def
d]       ZEedd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   def
d^       ZFedd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   def
d_       ZGedd
ee ed      f   dee ed"      f   d`eeH eda      f   deee    ed      f   deee    ed      f   defdb       ZIedd
ee ed      f   dee ed"      f   dceeJ edd      f   deee    ed      f   deee    ed      f   defde       ZKedd
ee ed      f   dfeeL edg      f   dheee    edi      f   deee    ed      f   deee    ed      f   djeee    edi      f   defdk       ZMedd
ee ed      f   dlee edm      f   deee    ed      f   deee    ed      f   def
dn       ZNedd
ee ed      f   doeeO edp      f   deee    ed      f   deee    ed      f   def
dq       ZPedd
ee ed      f   dlee edm      f   deee    ed      f   deee    ed      f   def
dr       ZQedd
ee ed      f   dlee edm      f   deee    ed      f   deee    ed      f   dseee    edt      f   defdu       ZRedd
ee ed      f   dee ed"      f   dveeS edw      f   deee    ed      f   deee    ed      f   defdx       ZTedd
ee ed      f   dee edy      f   dzeeU ed{      f   deee    ed      f   deee    ed      f   defd|       ZVedd
ee ed      f   dee ed"      f   dee edy      f   deee    ed      f   deee    ed      f   defd}       ZWedd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   def
d~       ZXedd
ee ed      f   deeY ed      f   deee    ed      f   deee    ed      f   def
d       ZZedd
ee ed      f   dee ed"      f   dee[ ed      f   deee    ed      f   deee    ed      f   defd       Z\edd
ee ed      f   dee ed"      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Z]edd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   def
d       Z^edd
ee ed      f   dee_ ed      f   dheee    edi      f   deee    ed      f   deee    ed      f   djeee    edi      f   defd       Z`edd
ee ed      f   deea ed      f   dheee    edi      f   deee    ed      f   deee    ed      f   djeee    edi      f   defd       Zbedd
ee ed      f   deee    ed      f   deee    ed      f   deeec    ed      f   def
d       Zdedd
ee ed      f   dee ed"      f   deee    ed      f   deee    ed      f   def
d       Zeedd
ee ed      f   dee ed      f   deee    ed      f   deee    ed      f   def
d       Zfedd
ee ed      f   deeg ed      f   deee    ed      f   deee    ed      f   def
d       Zhedd
ee ed      f   deei ed      f   deee    ed      f   deee    ed      f   def
d       Zjedd
ee ed      f   deek ed      f   deee    ed      f   deee    ed      f   def
d       Zledd
ee ed      f   dee ed      f   deem ed      f   deee    ed      f   deee    ed      f   defd       Znedd
ee ed      f   deeo ed      f   deee    ed      f   deee    ed      f   def
d       Zpedd
ee ed      f   dee ed      f   deee    ed      f   deee    ed      f   def
d       Zqedd
ee ed      f   dee ed      f   deee    ed      f   deee    ed      f   def
d       Zredd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zsedd
ee ed      f   dee ed      f   deee    ed      f   deee    ed      f   def
d       Ztedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zuedd
ee ed      f   dee ed      f   deev ed      f   deee    ed      f   deee    ed      f   defd       Zwedd
ee ed      f   dee ed      f   dee ed      f   deex ed      f   deee    ed      f   deee    ed      f   defd       Zyedd
ee ed      f   dee ed      f   dee.e6ee7ee6f   f    ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zzedd
ee ed      f   dee{ ed      f   deee    ed      f   deee    ed      f   def
d       Z|edd
ee ed      f   dee ed      f   dee edì      f   deee    ed      f   deee    ed      f   defdĄ       Z}edd
ee ed      f   dee ed      f   dee edŬ      f   deee    ed      f   deee    ed      f   defdƄ       Z~edd
ee ed      f   dee ed      f   dee edȬ      f   deee    ed      f   deee    ed      f   defdɄ       Zedd
ee ed      f   dee ed      f   dee edʬ      f   deee    ed      f   deee    ed      f   defd˄       Zedd
ee ed      f   deee    ed      f   deee    ed      f   dee   def
d̈́       Zedd
ee ed      f   dsee edά      f   dee edЬ      f   deee    ed      f   deee    ed      f   defdф       Zedd
ee ed      f   dee edӬ      f   deee    ed      f   deee    ed      f   def
dԄ       Zedd
ee ed      f   dee ed֬      f   deee    ed      f   deee    ed      f   def
dׄ       Zedd
ee ed      f   dee ed٬      f   deee    ed      f   deee    ed      f   def
dڄ       Zedd
ee ed      f   dee edܬ      f   deee    ed      f   deee    ed      f   def
d݄       Zedd
ee ed      f   dee edެ      f   dee ed߬      f   deee    ed      f   deee    ed      f   defd       Zedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zedd
ee ed      f   dee ed      f   deee    ed      f   deee    ed      f   def
d       Zedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zedd
ee ed      f   dee ed      f   dee ed      f   deee    ed      f   deee    ed      f   defd       Zy)CashfreeNz
2023-08-01	XClientIdXClientSecretXPartnerKeyXClientSignatureXPartnerMerchantIdc                 n    || _         |r|| _        |r|| _        |r|| _        |r|| _        |r|| _        y y r+   )XEnvironmentr4   r5   r6   r7   r8   )r/   r:   r4   r5   r6   r7   r8   s          r'   r1   zCashfree.__init__]  sI     ) &DN!.D*D$4D!&8D# r&   c                 d   ||z   }t        |d      }t        | j                  d      }t        j                  t	        j
                  ||t        j                        j                               }t        |d      }||k(  r&t        j                  |      }	t        |	d   ||	      S t        d      )Nutf-8)	digestmodutf8)encodingr,   )r,   r0   r.   z9Generated signature and received signature did not match.)bytesr5   base64	b64encodehmacnewhashlibsha256digeststrjsonloadsr)   	Exception)
r/   	signaturer0   	timestampsignatureDatamessage	secretkeygeneratedSignaturecomputed_signaturejson_responses
             r'   PGVerifyWebhookSignaturez!Cashfree.PGVerifyWebhookSignaturey  s    !')w/**73	#--dhhy'U\UcUc.d.k.k.mn !3fE* JJw/M!}V'<gVcddSTTr&   x_api_versionz/API version to be used. Format is in YYYY-MM-DD)descriptioncreate_customer_requestz,Request to create a new customer at Cashfreex_request_idzzRequest id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfreex_idempotency_keyzAn idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  returnc                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),aT
  Create Customer at Cashfree  # noqa: E501

        Create Customer at Cashfree  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCreateCustomer_with_http_info(x_api_version, create_customer_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_customer_request: Request to create a new customer at Cashfree (required)
        :type create_customer_request: CreateCustomerRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(CustomerEntity, status_code(int), headers(HTTPHeaderDict))
        https://api.cashfree.com/pghttps://sandbox.cashfree.com/pghost	XClientIDr5   r7   r8   r6   )rU   rW   rX   rY   	async_req_return_http_data_only_preload_content_request_timeout_request_auth_content_type_headerskwargszBGot an unexpected keyword argument '%s' to method PGCreateCustomerrh   x-request-idx-api-versionx-idempotency-keypythonsdk-5.0.5x-sdk-platformNrW   application/jsonAcceptrg   Content-TypeXPartnerAPIKeyr5   XPartnerMerchantIDr`   XClientSignatureHeaderCustomerEntityBadRequestErrorAuthenticationErrorApiError404ApiError409IdempotencyErrorRateLimitErrorApiError200400401404409422429500z
/customersPOSTrb   rc   rd   Tre   rf   bodypost_paramsfilesresponse_types_mapauth_settingsrb   rc   rd   re   collection_formatsrf   XApiVersion	ApiClientget_defaultr:   r   r#   r   r4   api_keyr5   r7   r8   r6   configurationlocalsextenditemsr   dictgetselect_header_acceptselect_header_content_typecall_api)r/   rU   rW   rX   rY   ri   
api_clientr_   r   _params_all_params_key_val_collection_formats_path_params_query_params_header_params_form_params_files_body_params_content_types_list_auth_settings_response_types_maps                          r'   PGCreateCustomerzCashfree.PGCreateCustomer  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"2489  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ,-9"#<=L $.#B#B $"x  &kk/11#$&' 1D~. z $$(  %#	
 ""&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   
dispute_idc                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a+
  Accept Dispute by Dispute ID  # noqa: E501

        Use this API to get accept the Dispute by specifying the Dispute ID.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGAcceptDisputeById_with_http_info(x_api_version, dispute_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param dispute_id: (required)
        :type dispute_id: int
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(DisputesEntityMerchantAccepted, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   rU   r   rX   rY   ra   ri   zEGot an unexpected keyword argument '%s' to method PGAcceptDisputeByIdr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   DisputesEntityMerchantAcceptedrw   rx   ry   rz   r{   r|   r}   r~   z/disputes/{dispute_id}/acceptPUTrb   rc   rd   Tre   rf   r   r   r   r   r:   r   r#   r   r4   r   r5   r7   r8   r6   r   r   r   r   r   r   r   r   r   r/   rU   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGAcceptDisputeByIdzCashfree.PGAcceptDisputeById!  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"57;<  !GDM	! H  < )0)>L& gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 4$(  %#	
 ""+U$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a
  Get Disputes by Dispute ID  # noqa: E501

        Use this API to get Dispute details by specifying the Dispute ID.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchDisputeById_with_http_info(x_api_version, dispute_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param dispute_id: (required)
        :type dispute_id: int
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(DisputesEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zDGot an unexpected keyword argument '%s' to method PGFetchDisputeByIdr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   DisputesEntityrw   rx   ry   rz   r{   r|   r}   r~   z/disputes/{dispute_id}GETrb   rc   rd   Tre   rf   r   r   r   s                         r'   PGFetchDisputeByIdzCashfree.PGFetchDisputeById  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H  < )0)>L& gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z $$(  %#	
 ""$e$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   order_idc                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a
  Get Disputes by Order Id  # noqa: E501

        Use this API to get all Dispute details by specifying the Order ID.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchOrderDisputes_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[DisputesEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   rU   r   rX   rY   ra   ri   zFGot an unexpected keyword argument '%s' to method PGFetchOrderDisputesr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   List[DisputesEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/orders/{order_id}/disputesr   rb   rc   rd   Tre   rf   r   r   r/   rU   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGFetchOrderDisputeszCashfree.PGFetchOrderDisputesK  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"68<=  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z *$(  %#	
 "")5$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   cf_payment_idc                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a,
  Get Disputes by Payment ID  # noqa: E501

        Use this API to get all Dispute details by specifying the Payment ID.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchPaymentDisputes_with_http_info(x_api_version, cf_payment_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param cf_payment_id: (required)
        :type cf_payment_id: int
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[DisputesEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rX   rY   ra   ri   zHGot an unexpected keyword argument '%s' to method PGFetchPaymentDisputesr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   r   rw   rx   ry   rz   r{   r|   r}   r~   z"/payments/{cf_payment_id}/disputesr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGFetchPaymentDisputeszCashfree.PGFetchPaymentDisputes  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H  ?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z *$(  %#	
 ""0%$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   filezTFile types supported are jpeg, jpg, png, pdf and maximum file size allowed is 20 MB.doc_typea  Mention the type of the document you are uploading. Possible values :- Delivery/Service Proof, Shipping Proof, Statement of Service, Proof of Service Used, Cancellation of Service Proof, Refund Proof, Business model explanation, Extra Charges Declaration, Terms & Conditions, Customer Withdrawal Letter, Certificate of Authenticity, Reseller Agreement. You can use get evidences to contest dispute API to fetch set of documents required to contest particular dispute.notec                    | j                   }t        j                         }	d}
| j                  t        j
                  k(  rd}
t        |
      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||	_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }|d   r|d   |d<   g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }|d   r|j)                  d|d   f       |d   r|j)                  d|d   f       |d   r|j)                  d|d   f       d}|	j+                  dg      |d<   |j'                  d|	j-                  dg            }|r||d<   g d}ddd d!d"d#d$d%d&}|	j/                  d'd(|||||||||j'                  d)      |j'                  d*      |j'                  d+d,      |j'                  d-      ||j'                  d.      /      S )0a8  Submit Evidence to contest the Dispute by Dispute ID  # noqa: E501

        Use this API to Submit the Evidences to contest the Dispute by specifying the Dispute ID.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGUploadDisputesDocuments_with_http_info(x_api_version, dispute_id, file, doc_type, x_request_id, x_idempotency_key, note, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param dispute_id: (required)
        :type dispute_id: int
        :param file: File types supported are jpeg, jpg, png, pdf and maximum file size allowed is 20 MB. (required)
        :type file: str
        :param doc_type: Mention the type of the document you are uploading. Possible values :- Delivery/Service Proof, Shipping Proof, Statement of Service, Proof of Service Used, Cancellation of Service Proof, Refund Proof, Business model explanation, Extra Charges Declaration, Terms & Conditions, Customer Withdrawal Letter, Certificate of Authenticity, Reseller Agreement. You can use get evidences to contest dispute API to fetch set of documents required to contest particular dispute. (required)
        :type doc_type: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param note:
        :type note: str
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[DisputesEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   r   r   rX   rY   r   ra   ri   zKGot an unexpected keyword argument '%s' to method PGUploadDisputesDocumentsr   rh   rj   rk   rl   rm   rn   r   r   r   Nro   rp   rg   multipart/form-datarq   rr   r   rw   rx   ry   rz   r{   r|   r}   r~   z /disputes/{dispute_id}/documentsr   rb   rc   rd   Tre   rf   r   r   r   r   r:   r   r#   r   r4   r   r5   r7   r8   r6   r   r   r   r   r   r   r   appendr   r   r   )r/   rU   r   r   r   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                             r'   PGUploadDisputesDocumentsz"Cashfree.PGUploadDisputesDocumentsu  s   d ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&";=AB  !GDM	! H  < )0)>L& gkk*b9:-9N>*.;N?+2CN./+<'( 6? 9::WZ-@ AB6? 9: #-#B#B $"x  &kk/11&')* 1D~. z *$(  %#	
 "".$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   z+The id which uniquely identifies your ordersplit_after_payment_requestz*Request Body to Create Split for an order.c                 l   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}ddddd}|j-                  d d!|||||||||
j'                  d"      |
j'                  d#      |
j'                  d$d%      |
j'                  d&      ||
j'                  d'      (      S ))a  Split After Payment  # noqa: E501

        Split After Payment API splits the payments to vendors after successful payment from the customers.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderSplitAfterPayment_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, split_after_payment_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param split_after_payment_request: Request Body to Create Split for an order.
        :type split_after_payment_request: SplitAfterPaymentRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SplitAfterPaymentResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rX   rY   r   ra   ri   zJGot an unexpected keyword argument '%s' to method PGOrderSplitAfterPaymentr   rh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   SplitAfterPaymentResponserw   ry   rz   r   r   r   r   z#/easy-split/orders/{order_id}/splitr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGOrderSplitAfterPaymentz!Cashfree.PGOrderSplitAfterPayment$  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&":<@A  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( 01="#@AL $.#B#B $"x  &kk/11#$&' 1D~. z /$  	
 ""16$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   static_split_requestzStatic Splitc                 N   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddd}|j-                  dd|||||||||	j'                  d      |	j'                  d       |	j'                  d!d"      |	j'                  d#      ||	j'                  d$      %      S )&a
  Create Static Split Configuration  # noqa: E501

        This API will create a static split scheme wherein you can define the split type and the vendor-wise split percentage.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderStaticSplit_with_http_info(x_api_version, x_request_id, x_idempotency_key, static_split_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param static_split_request: Static Split
        :type static_split_request: StaticSplitRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(StaticSplitResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rX   rY   r   ra   ri   zDGot an unexpected keyword argument '%s' to method PGOrderStaticSplitrh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   StaticSplitResponserw   r   r   z/easy-split/static-splitr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGOrderStaticSplitzCashfree.PGOrderStaticSplit  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( )*6"#9:L $.#B#B $"x  &kk/11#$&' 1D~. z )$

 ""&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddd}|j+                  dd|||||||||	j'                  d      |	j'                  d      |	j'                  dd       |	j'                  d!      ||	j'                  d"      #      S )$a
  Get Split and Settlement Details by OrderID  # noqa: E501

        Use this API to get all the split details, settled and unsettled transactions details of each vendor who were part of a particular order by providing order Id or start date and end date.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGSplitOrderRecon_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SplitOrderReconSuccessResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zCGot an unexpected keyword argument '%s' to method PGSplitOrderReconr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   SplitOrderReconSuccessResponserw   )r   r   z/easy-split/orders/{order_id}r   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGSplitOrderReconzCashfree.PGSplitOrderReconX  sp   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 4$

 ""+U$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   	vendor_idz-The id which uniquely identifies your vendor.vendor_adjustment_requestzVendor Adjustment Request Body.c                 h   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}ddd}|j-                  dd|||||||||
j'                  d       |
j'                  d!      |
j'                  d"d#      |
j'                  d$      ||
j'                  d%      &      S )'a,  Create Adjustment  # noqa: E501

        The Create Adjustment API will create a adjustment request either from vendor to the merchant or from merchant to the vendor.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesCreateAdjustment_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, vendor_adjustment_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param vendor_adjustment_request: Vendor Adjustment Request Body.
        :type vendor_adjustment_request: VendorAdjustmentRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(VendorAdjustmentSuccessResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rX   rY   r   ra   ri   zFGot an unexpected keyword argument '%s' to method PGesCreateAdjustmentr   rh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   VendorAdjustmentSuccessResponserw   r   z*/easy-split/vendors/{vendor_id}/adjustmentr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGesCreateAdjustmentzCashfree.PGesCreateAdjustment  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"68<=  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( ./;"#>?L $.#B#B $"x  &kk/11#$&' 1D~. z 5$

 ""8&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   adjust_vendor_balance_requestz#Adjust Vendor Balance Request Body.c                 h   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}ddd}|j-                  dd|||||||||
j'                  d       |
j'                  d!      |
j'                  d"d#      |
j'                  d$      ||
j'                  d%      &      S )'aD  Create On Demand Transfer  # noqa: E501

        The Create On Demand Transfer API will create a new on-demand request either from to the merchant or from to the vendor.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesCreateOnDemandTransfer_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, adjust_vendor_balance_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param adjust_vendor_balance_request: Adjust Vendor Balance Request Body.
        :type adjust_vendor_balance_request: AdjustVendorBalanceRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(AdjustVendorBalanceResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rX   rY   r   ra   ri   zLGot an unexpected keyword argument '%s' to method PGesCreateOnDemandTransferr   rh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   AdjustVendorBalanceResponserw   r   z(/easy-split/vendors/{vendor_id}/transferr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGesCreateOnDemandTransferz#Cashfree.PGesCreateOnDemandTransfer  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"<>BC  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( 23?"#BCL $.#B#B $"x  &kk/11#$&' 1D~. z 1$

 ""6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_vendor_requestzCreate Vendor Request Body.c                 N   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddd}|j-                  dd|||||||||	j'                  d      |	j'                  d       |	j'                  d!d"      |	j'                  d#      ||	j'                  d$      %      S )&a
  Create vendor  # noqa: E501

        Use this API to create a new vendor to your EasySplit account along with the KYC details. Provide KYC details such as account_type, business_type, gst, cin, pan, passport number and so on.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesCreateVendors_with_http_info(x_api_version, x_request_id, x_idempotency_key, create_vendor_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param create_vendor_request: Create Vendor Request Body.
        :type create_vendor_request: CreateVendorRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(CreateVendorResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rX   rY   r   ra   ri   zCGot an unexpected keyword argument '%s' to method PGesCreateVendorsrh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   CreateVendorResponserw   r   z/easy-split/vendorsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGesCreateVendorszCashfree.PGesCreateVendors  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( *+7"#:;L $.#B#B $"x  &kk/11#$&' 1D~. z *$

 ""!6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   zaMention the document type that has to be downloaded. Only an uploaded document can be downloaded.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddi}|j+                  dd|||||||||
j'                  d      |
j'                  d      |
j'                  dd       |
j'                  d!      ||
j'                  d"      #      S )$am  Download Vendor Documents  # noqa: E501

        Use this API to download the uploaded KYC documents of that particular vendor. Provide the document type. Click the link from the sample request to download the KYC document.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesDownloadVendorsDocs_with_http_info(x_api_version, doc_type, vendor_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param doc_type: Mention the document type that has to be downloaded. Only an uploaded document can be downloaded. (required)
        :type doc_type: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(VendorDocumentDownloadResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   r   rX   rY   ra   ri   zIGot an unexpected keyword argument '%s' to method PGesDownloadVendorsDocsr   r   rh   rj   rk   rl   rm   rn   Nro   rp   rr   r   VendorDocumentDownloadResponsez7/easy-split/vendor-docs/{vendor_id}/download/{doc_type}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGesDownloadVendorsDocsz Cashfree.PGesDownloadVendorsDocs  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"9;?@  !GDM	! H  :'.z':L$;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 3
 ""Eu$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddd}|j+                  dd|||||||||	j'                  d      |	j'                  d      |	j'                  dd       |	j'                  d!      ||	j'                  d"      #      S )$aT
  Get Vendor All Details  # noqa: E501

        Use this API to get the details of a specific vendor associated with your Easy Split account.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesFetchVendors_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(VendorEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   rU   r   rX   rY   ra   ri   zBGot an unexpected keyword argument '%s' to method PGesFetchVendorsr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   VendorEntityrw   r   /easy-split/vendors/{vendor_id}r   rb   rc   rd   Tre   rf   r   r   r/   rU   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGesFetchVendorszCashfree.PGesFetchVendorsI	  sp   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"2489  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z "$

 ""-u$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddd}|j+                  dd|||||||||	j'                  d      |	j'                  d      |	j'                  dd       |	j'                  d!      ||	j'                  d"      #      S )$a|
  Get On Demand Balance  # noqa: E501

        This API fetches the available amount with the merchant, vendor, and the unsettled amount for the merchant as well as the vendor.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesGetVendorBalance_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(VendorBalance, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zFGot an unexpected keyword argument '%s' to method PGesGetVendorBalancer   rh   rj   rk   rl   rm   rn   Nro   rp   rr   VendorBalancerw   r   z(/easy-split/vendors/{vendor_id}/balancesr   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGesGetVendorBalancezCashfree.PGesGetVendorBalance	  sp   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"68<=  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z #$

 ""6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   amountzdSpecify the amount for which you want to view the service charges and service taxes in the response.	rate_typezbMention the type of rate for which you want to check the charges. Possible value: VENDOR_ON_DEMANDc                 P   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }|
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g d}ddd}|j-                  dd|||||||||
j%                  d      |
j%                  d      |
j%                  d d!      |
j%                  d"      ||
j%                  d#      $      S )%a  Get Vendor Balance Transfer Charges  # noqa: E501

        This API returns the applicable service charge and service tax for a vendor balance transfer, based on the provided amount and rate type.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesGetVendorBalanceTransferCharges_with_http_info(x_api_version, amount, rate_type, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param amount: Specify the amount for which you want to view the service charges and service taxes in the response. (required)
        :type amount: float
        :param rate_type: Mention the type of rate for which you want to check the charges. Possible value: VENDOR_ON_DEMAND (required)
        :type rate_type: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(VendorBalanceTransferCharges, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   r   rX   rY   ra   ri   zUGot an unexpected keyword argument '%s' to method PGesGetVendorBalanceTransferChargesr   r   Nrh   rj   rk   rl   rm   rn   ro   rp   rr   VendorBalanceTransferChargesrw   r   z#/easy-split/amount/{amount}/chargesr   rb   rc   rd   Tre   rf   r   r   r   r   r:   r   r#   r   r4   r   r5   r7   r8   r6   r   r   r   r   r   r   r   r   r   r   )r/   rU   r   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   #PGesGetVendorBalanceTransferChargesz,Cashfree.PGesGetVendorBalanceTransferChargesg
  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"EGKL  !GDM	! H  8%,X%6L" ;;{#/  +w{/C!DE gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 2$

 ""15$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddd}|j+                  dd|||||||||	j'                  d      |	j'                  d      |	j'                  dd       |	j'                  d!      ||	j'                  d"      #      S )$a]
  Get Vendor All Documents Status  # noqa: E501

        Use this API to fetch the details of all the KYC details of a particular vendor.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesGetVendorsDocs_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(VendorDocumentsResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zDGot an unexpected keyword argument '%s' to method PGesGetVendorsDocsr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   VendorDocumentsResponserw   r   #/easy-split/vendor-docs/{vendor_id}r   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGesGetVendorsDocszCashfree.PGesGetVendorsDocs
  sp   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z -$

 ""15$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   es_order_recon_requestz0Get Split and Settlement Details by OrderID v2.0c                 R   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddd}|j-                  dd|||||||||	j'                  d      |	j'                  d       |	j'                  d!d"      |	j'                  d#      ||	j'                  d$      %      S )&a   Get Split and Settlement Details by OrderID v2.0  # noqa: E501

        Use this API to get all the split details, settled and unsettled transactions details of each vendor who were part of a particular order by providing order Id or start date and end date.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesOrderRecon_with_http_info(x_api_version, x_request_id, x_idempotency_key, es_order_recon_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param es_order_recon_request: Get Split and Settlement Details by OrderID v2.0
        :type es_order_recon_request: ESOrderReconRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(ESOrderReconResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rX   rY   r   ra   ri   z@Got an unexpected keyword argument '%s' to method PGesOrderReconrh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   ESOrderReconResponserw   r   z/split/order/vendor/reconr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGesOrderReconzCashfree.PGesOrderRecon  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"0267  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( +,8"#;<L $.#B#B $"x  &kk/11#$&' 1D~. z *$$$	
 ""'$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   update_vendor_requestc                 h   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}ddd}|j-                  dd|||||||||
j'                  d       |
j'                  d!      |
j'                  d"d#      |
j'                  d$      ||
j'                  d%      &      S )'aJ  Update vendor Details  # noqa: E501

        Use this API to edit the existing vendor details added to your EasySplit account. You can edit vendor details such as name, email, phone number, upi details, and any of the KYC details.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesUpdateVendors_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, update_vendor_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param update_vendor_request: Create Vendor Request Body.
        :type update_vendor_request: UpdateVendorRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(UpdateVendorResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rX   rY   r   ra   ri   zCGot an unexpected keyword argument '%s' to method PGesUpdateVendorsr   rh   rj   rk   rl   rm   rn   Nr   ro   rp   rg   rq   rr   UpdateVendorResponserw   r   r   PATCHrb   rc   rd   Tre   rf   r   r   )r/   rU   r   rX   rY   r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGesUpdateVendorszCashfree.PGesUpdateVendors#  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( *+7"#:;L $.#B#B $"x  &kk/11#$&' 1D~. z *$

 ""-w$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   af  Mention the type of the document you are uploading. Possible values: UIDAI_FRONT, UIDAI_BACK, UIDAI_NUMBER, DL, DL_NUMBER, PASSPORT_FRONT, PASSPORT_BACK, PASSPORT_NUMBER, VOTER_ID, VOTER_ID_NUMBER, PAN, PAN_NUMBER, GST, GSTIN_NUMBER, CIN, CIN_NUMBER, NBFC_CERTIFICATE. If the doc type ends with a number you should add the doc value else upload the doc file.	doc_valuez,Enter the display name of the uploaded file.zSelect the document that should be uploaded or provide the path of that file. You cannot upload a file that is more than 2MB in size.c                    | j                   }t        j                         }	d}
| j                  t        j
                  k(  rd}
t        |
      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||	_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }|d   r|d   |d<   g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }|d   r|j)                  d|d   f       |d   r|j)                  d|d   f       |d   r|d   |d<   d}|	j+                  dg      |d<   |j'                  d|	j-                  dg            }|r||d<   g d}ddd }|	j/                  d!d"|||||||||j'                  d#      |j'                  d$      |j'                  d%d&      |j'                  d'      ||j'                  d(      )      S )*a  Upload Vendor Docs  # noqa: E501

        Use this API to upload KYC documents of a specific vendor.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGesUploadVendorsDocs_with_http_info(x_api_version, vendor_id, x_request_id, x_idempotency_key, doc_type, doc_value, file, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param vendor_id: The id which uniquely identifies your vendor. (required)
        :type vendor_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param doc_type: Mention the type of the document you are uploading. Possible values: UIDAI_FRONT, UIDAI_BACK, UIDAI_NUMBER, DL, DL_NUMBER, PASSPORT_FRONT, PASSPORT_BACK, PASSPORT_NUMBER, VOTER_ID, VOTER_ID_NUMBER, PAN, PAN_NUMBER, GST, GSTIN_NUMBER, CIN, CIN_NUMBER, NBFC_CERTIFICATE. If the doc type ends with a number you should add the doc value else upload the doc file.
        :type doc_type: str
        :param doc_value: Enter the display name of the uploaded file.
        :type doc_value: str
        :param file: Select the document that should be uploaded or provide the path of that file. You cannot upload a file that is more than 2MB in size.
        :type file: bytearray
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(UploadVendorDocumentsResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rX   rY   r   r  r   ra   ri   zGGot an unexpected keyword argument '%s' to method PGesUploadVendorsDocsr   rh   rj   rk   rl   rm   rn   r   r  r   Nro   rp   rg   r   rq   rr   UploadVendorDocumentsResponserw   r   r   r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rX   rY   r   r  r   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                             r'   PGesUploadVendorsDocszCashfree.PGesUploadVendorsDocs  s   d ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"79=>  !GDM	! H  ;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( :WZ-@ AB;gk.B CD6?$V_F6N #-#B#B $"x  &kk/11&')* 1D~. z 3$

 ""16$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   &eligibility_fetch_cardless_emi_requestzJRequest Body to get eligible cardless emi options for a customer and orderc                 \   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"d#	}|j-                  d$d%|||||||||	j'                  d&      |	j'                  d'      |	j'                  d(d)      |	j'                  d*      ||	j'                  d+      ,      S )-aS  Get Eligible Cardless EMI Payment Methods for a customer on an order  # noqa: E501

        Use this API to get eligible Cardless EMI Payment Methods available for a customer on an order basis their phone number.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGEligibilityFetchCardlessEmi_with_http_info(x_api_version, eligibility_fetch_cardless_emi_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param eligibility_fetch_cardless_emi_request: Request Body to get eligible cardless emi options for a customer and order (required)
        :type eligibility_fetch_cardless_emi_request: EligibilityFetchCardlessEMIRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[EligibilityCardlessEMIEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zOGot an unexpected keyword argument '%s' to method PGEligibilityFetchCardlessEmirh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   z"List[EligibilityCardlessEMIEntity]rw   rx   ry   rz   r{   r|   r}   ApiError502	r   r   r   r   r   r   r   r   502z/eligibility/cardlessemir   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGEligibilityFetchCardlessEmiz&Cashfree.PGEligibilityFetchCardlessEmih  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"?AEF  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ;<H"#KLL $.#B#B $"x  &kk/11#$&' 1D~. z 8$(  %# 

 ""&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&    eligibility_fetch_offers_requestz<Request Body to get eligible offers for a customer and orderc                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),a
  Get Eligible Offers for an Order  # noqa: E501

        Use this API to get eligible offers for an order_id or order amount.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGEligibilityFetchOffers_with_http_info(x_api_version, eligibility_fetch_offers_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param eligibility_fetch_offers_request: Request Body to get eligible offers for a customer and order (required)
        :type eligibility_fetch_offers_request: EligibilityFetchOffersRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[EligibilityOfferEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zJGot an unexpected keyword argument '%s' to method PGEligibilityFetchOffersrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   zList[EligibilityOfferEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/eligibility/offersr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGEligibilityFetchOffersz!Cashfree.PGEligibilityFetchOffers  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&":<@A  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 56B"#EFL $.#B#B $"x  &kk/11#$&' 1D~. z 2$(  %#	
 ""!6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   "eligibility_fetch_paylater_requestzFRequest Body to get eligible paylater options for a customer and orderc                 \   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"d#	}|j-                  d$d%|||||||||	j'                  d&      |	j'                  d'      |	j'                  d(d)      |	j'                  d*      ||	j'                  d+      ,      S )-a
  Get Eligible Paylater for a customer on an order  # noqa: E501

        Use this API to get eligible Paylater Payment Methods for a customer on an order.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGEligibilityFetchPaylater_with_http_info(x_api_version, eligibility_fetch_paylater_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param eligibility_fetch_paylater_request: Request Body to get eligible paylater options for a customer and order (required)
        :type eligibility_fetch_paylater_request: EligibilityFetchPaylaterRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[EligibilityPaylaterEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zLGot an unexpected keyword argument '%s' to method PGEligibilityFetchPaylaterrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   zList[EligibilityPaylaterEntity]rw   rx   ry   rz   r{   r|   r}   r	  r
  z/eligibility/paylaterr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGEligibilityFetchPaylaterz#Cashfree.PGEligibilityFetchPaylater  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"<>BC  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 78D"#GHL $.#B#B $"x  &kk/11#$&' 1D~. z 5$(  %# 

 ""#V$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   )eligibility_fetch_payment_methods_requestzERequest Body to get eligible payment methods for an account and orderc                 \   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"d#	}|j-                  d$d%|||||||||	j'                  d&      |	j'                  d'      |	j'                  d(d)      |	j'                  d*      ||	j'                  d+      ,      S )-a
  Get eligible Payment Methods  # noqa: E501

        Use this API to get eligible Payment Methods  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGEligibilityFetchPaymentMethods_with_http_info(x_api_version, eligibility_fetch_payment_methods_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param eligibility_fetch_payment_methods_request: Request Body to get eligible payment methods for an account and order (required)
        :type eligibility_fetch_payment_methods_request: EligibilityFetchPaymentMethodsRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[EligibilityPaymentMethodsEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zRGot an unexpected keyword argument '%s' to method PGEligibilityFetchPaymentMethodsrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   z%List[EligibilityPaymentMethodsEntity]rw   rx   ry   rz   r{   r|   r}   r	  r
  z/eligibility/payment_methodsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'    PGEligibilityFetchPaymentMethodsz)Cashfree.PGEligibilityFetchPaymentMethods>  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"BDHI  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( >?K"#NOL $.#B#B $"x  &kk/11#$&' 1D~. z ;$(  %# 

 ""*F$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_offer_requestz+Request body to create an offer at Cashfreec                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),aT
  Create Offer  # noqa: E501

        Use this API to create offers with Cashfree from your backend  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCreateOffer_with_http_info(x_api_version, create_offer_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_offer_request: Request body to create an offer at Cashfree (required)
        :type create_offer_request: CreateOfferRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OfferEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   z?Got an unexpected keyword argument '%s' to method PGCreateOfferrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   OfferEntityrw   rx   ry   rz   r{   r|   r}   r~   z/offersr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGCreateOfferzCashfree.PGCreateOffer     X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"/156  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( )*6"#9:L $.#B#B $"x  &kk/11#$&' 1D~. z !$(  %#	
 ""v$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   offer_idz:The offer ID for which you want to view the offer details.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a
  Get Offer by ID  # noqa: E501

        Use this API to get offer by offer_id  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchOffer_with_http_info(x_api_version, offer_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param offer_id: The offer ID for which you want to view the offer details. (required)
        :type offer_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OfferEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   z>Got an unexpected keyword argument '%s' to method PGFetchOfferr  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r  rw   rx   ry   rz   r{   r|   r}   r~   z/offers/{offer_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGFetchOfferzCashfree.PGFetchOfferx     X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&".045  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z !$(  %#	
 "" %$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_order_requestz+Request body to create an order at cashfreec                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),aR  Create Order  # noqa: E501

        ### Order An order is an entity which has a amount and currency associated with it. It is something for which you want to collect payment for. Use this API to create orders with Cashfree from your backend to get a `payment_sessions_id`.  You can use the `payment_sessions_id` to create a transaction for the order.   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCreateOrder_with_http_info(x_api_version, create_order_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_order_request: Request body to create an order at cashfree (required)
        :type create_order_request: CreateOrderRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OrderEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   z?Got an unexpected keyword argument '%s' to method PGCreateOrderrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   OrderEntityrw   rx   ry   rz   r{   r|   r}   r~   z/ordersr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGCreateOrderzCashfree.PGCreateOrder  r  r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a
  Get Order  # noqa: E501

        Use this API to fetch the order that was created at Cashfree's using the `order_id`.  ## When to use this API - To check the status of your order - Once the order is PAID - Once your customer returns to `return_url`   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchOrder_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OrderEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   z>Got an unexpected keyword argument '%s' to method PGFetchOrderr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   r!  rw   rx   ry   rz   r{   r|   r}   r~   /orders/{order_id}r   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGFetchOrderzCashfree.PGFetchOrder  r  r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a  Get Order Extended  # noqa: E501

        Use this API to fetch the order related data like address,cart,offers,customer details etc using the Cashfree's `order_id`. ## When to use this API - To get the extended data associated with order. - Once the order is PAID - Once your customer returns to `return_url`   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchOrderExtendedData_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OrderExtendedDataEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zJGot an unexpected keyword argument '%s' to method PGFetchOrderExtendedDatar   rh   rj   rk   rl   rm   rn   Nro   rp   rr   OrderExtendedDataEntityrw   rx   ry   rz   r{   r|   r}   r~   /orders/{order_id}/extendedr   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGFetchOrderExtendedDataz!Cashfree.PGFetchOrderExtendedData?  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&":<@A  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z -$(  %#	
 "")5$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   terminate_order_requestz.Request body to terminate an order at cashfreec                 t   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a
  Terminate Order  # noqa: E501

        Use this API to terminate the order that was created at Cashfree's using the `order_id`.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGTerminateOrder_with_http_info(x_api_version, order_id, terminate_order_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param terminate_order_request: Request body to terminate an order at cashfree (required)
        :type terminate_order_request: TerminateOrderRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OrderEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   r*  rX   rY   ra   ri   zBGot an unexpected keyword argument '%s' to method PGTerminateOrderr   rh   rj   rk   rl   rm   rn   Nr*  ro   rp   rg   rq   rr   r!  rw   rx   ry   rz   r{   r|   r}   r~   r$  r  rb   rc   rd   Tre   rf   r   r   )r/   rU   r   r*  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGTerminateOrderzCashfree.PGTerminateOrder  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"2489  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( ,-9"#<=L $.#B#B $"x  &kk/11#$&' 1D~. z !$(  %#	
 "" '$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   update_order_extended_requestz5Request Body to Update extended data related to orderc                 t   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a  Update Order Extended  # noqa: E501

        Use this api to update the order related data like shipment details,order delivery status etc. ## When to use this API - To provide/update the shipment details or order delivery status. - Once the order is PAID.   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGUpdateOrderExtendedData_with_http_info(x_api_version, order_id, update_order_extended_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param update_order_extended_request: Request Body to Update extended data related to order (required)
        :type update_order_extended_request: UpdateOrderExtendedRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(UpdateOrderExtendedDataEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   r-  rX   rY   ra   ri   zKGot an unexpected keyword argument '%s' to method PGUpdateOrderExtendedDatar   rh   rj   rk   rl   rm   rn   Nr-  ro   rp   rg   rq   rr   UpdateOrderExtendedDataEntityrw   rx   ry   rz   r{   r|   r}   r~   r(  r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   r-  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGUpdateOrderExtendedDataz"Cashfree.PGUpdateOrderExtendedDatav  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&";=AB  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( 23?"#BCL $.#B#B $"x  &kk/11#$&' 1D~. z 3$(  %#	
 "")5$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   fetch_recon_requestz#Request Body for the reconciliationcontent_typero   acceptc                 Z   | j                   }t        j                         }d}	| j                  t        j
                  k(  rd}	t        |	      }
| j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   |
|_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|d   |d   }|j)                  dg      |d<   |j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||j'                  d%      |j'                  d&      |j'                  d'd(      |j'                  d)      ||j'                  d*      +      S ),a6  PG Reconciliation  # noqa: E501

        - Use this API to get the payment gateway reconciliation details with date range. - It will have events for your payment account   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchRecon_with_http_info(x_api_version, fetch_recon_request, content_type, x_request_id, x_idempotency_key, accept, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param fetch_recon_request: Request Body for the reconciliation (required)
        :type fetch_recon_request: FetchReconRequest
        :param content_type: application/json
        :type content_type: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param accept: application/json
        :type accept: str
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(ReconEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r1  r2  rX   rY   r3  ra   ri   z>Got an unexpected keyword argument '%s' to method PGFetchReconrh   rj   rk   rl   rm   rn   Nr1  ro   rp   rg   rq   rr   ReconEntityrw   rx   ry   rz   r{   r|   r}   r~   z/reconr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r1  r2  rX   rY   r3  ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                            r'   PGFetchReconzCashfree.PGFetchRecon  s   ` ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&".045  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ()5"#89L $.#B#B $"x  &kk/11#$&' 1D~. z !$(  %#	
 ""f$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   link_idz;The payment link ID for which you want to view the details.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a
  Cancel Payment Link  # noqa: E501

        Use this API to cancel a payment link. No further payments can be done against a cancelled link. Only a link in ACTIVE status can be cancelled.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCancelLink_with_http_info(x_api_version, link_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param link_id: The payment link ID for which you want to view the details. (required)
        :type link_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(LinkEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   rU   r7  rX   rY   ra   ri   z>Got an unexpected keyword argument '%s' to method PGCancelLinkr7  rh   rj   rk   rl   rm   rn   Nro   rp   rr   
LinkEntityrw   rx   ry   rz   r{   r|   r}   r~   z/links/{link_id}/cancelr   rb   rc   rd   Tre   rf   r   r   r/   rU   r7  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGCancelLinkzCashfree.PGCancelLink  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&".045  !GDM	! H  9&-i&8L# gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z  $(  %#	
 ""%v$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_link_requestz$Request Body to Create Payment Linksc                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),a
  Create Payment Link  # noqa: E501

        Use this API to create a new payment link. The created payment link url will be available in the API response parameter link_url.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCreateLink_with_http_info(x_api_version, create_link_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_link_request: Request Body to Create Payment Links (required)
        :type create_link_request: CreateLinkRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(LinkEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r=  rX   rY   ra   ri   z>Got an unexpected keyword argument '%s' to method PGCreateLinkrh   rj   rk   rl   rm   rn   Nr=  ro   rp   rg   rq   rr   r:  rw   rx   ry   rz   r{   r|   r}   r~   z/linksr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r=  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGCreateLinkzCashfree.PGCreateLinkQ  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&".045  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ()5"#89L $.#B#B $"x  &kk/11#$&' 1D~. z  $(  %#	
 ""f$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd d!	}|j+                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+a:
  Fetch Payment Link Details  # noqa: E501

        Use this API to view all details and status of a payment link.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchLink_with_http_info(x_api_version, link_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param link_id: The payment link ID for which you want to view the details. (required)
        :type link_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(LinkEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r9  ra   ri   z=Got an unexpected keyword argument '%s' to method PGFetchLinkr7  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r:  rw   rx   ry   rz   r{   r|   r}   r	  r
  z/links/{link_id}r   rb   rc   rd   Tre   rf   r   r   r;  s                         r'   PGFetchLinkzCashfree.PGFetchLink  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"-/34  !GDM	! H  9&-i&8L# gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z  $(  %# 

 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   statusz^Mention What is status of orders you want to fetch, default is PAID. Possible value: ALL, PAIDc                 \   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }|
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g d}dddddddd d!}|j-                  d"d#|||||||||
j%                  d$      |
j%                  d%      |
j%                  d&d'      |
j%                  d(      ||
j%                  d)      *      S )+a
  Get Orders for a Payment Link  # noqa: E501

        Use this API to view all order details for a payment link.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGLinkFetchOrders_with_http_info(x_api_version, link_id, x_request_id, x_idempotency_key, status, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param link_id: The payment link ID for which you want to view the details. (required)
        :type link_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param status: Mention What is status of orders you want to fetch, default is PAID. Possible value: ALL, PAID
        :type status: str
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[PaymentLinkOrderEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r7  rX   rY   rB  ra   ri   zCGot an unexpected keyword argument '%s' to method PGLinkFetchOrdersr7  rB  Nrh   rj   rk   rl   rm   rn   ro   rp   rr   zList[PaymentLinkOrderEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/links/{link_id}/ordersr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r7  rX   rY   rB  ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGLinkFetchOrderszCashfree.PGLinkFetchOrders  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H  9&-i&8L# ;;x ,  (GH,=!>? gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 2$(  %#	
 ""%u$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   authorize_order_requestz'Request to Capture or Void Transactionsc                 v   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#d$	}|j-                  d%d&|||||||||
j'                  d'      |
j'                  d(      |
j'                  d)d*      |
j'                  d+      ||
j'                  d,      -      S ).a
  Preauthorization  # noqa: E501

        Use this API to capture or void a preauthorized payment  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGAuthorizeOrder_with_http_info(x_api_version, order_id, authorize_order_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param authorize_order_request: Request to Capture or Void Transactions (required)
        :type authorize_order_request: AuthorizeOrderRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(PaymentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rE  rX   rY   ra   ri   zBGot an unexpected keyword argument '%s' to method PGAuthorizeOrderr   rh   rj   rk   rl   rm   rn   NrE  ro   rp   rg   rq   rr   PaymentEntityrw   rx   ry   rz   r{   r|   r}   r	  r
  z /orders/{order_id}/authorizationr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rE  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGAuthorizeOrderzCashfree.PGAuthorizeOrder  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"2489  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( ,-9"#<=L $.#B#B $"x  &kk/11#$&' 1D~. z #$(  %# 

 "".$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   z'The Cashfree payment or transaction ID."order_authenticate_payment_requestztRequest body to submit/resend headless OTP. To use this API make sure you have headless OTP enabled for your accountc                 r   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g }ddddddd d!d"d#	}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a  Submit or Resend OTP  # noqa: E501

        If you accept OTP on your own page, you can use the below API to send OTP to Cashfree.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderAuthenticatePayment_with_http_info(x_api_version, cf_payment_id, order_authenticate_payment_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param cf_payment_id: The Cashfree payment or transaction ID. (required)
        :type cf_payment_id: str
        :param order_authenticate_payment_request: Request body to submit/resend headless OTP. To use this API make sure you have headless OTP enabled for your account (required)
        :type order_authenticate_payment_request: OrderAuthenticatePaymentRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(OrderAuthenticateEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rI  rX   rY   ra   ri   zLGot an unexpected keyword argument '%s' to method PGOrderAuthenticatePaymentr   rh   rj   rk   rl   rm   rn   NrI  ro   rp   rg   rq   OrderAuthenticateEntityrw   rx   ry   rz   r{   r|   r}   r	  r
  z(/orders/pay/authenticate/{cf_payment_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rI  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGOrderAuthenticatePaymentz#Cashfree.PGOrderAuthenticatePayment  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"<>BC  !GDM	! H  ?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( 78D"#GHL $.#B#B $"x  &kk/11#$&' 1D~.  -$(  %# 

 ""6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                 *   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}dddddddd d!d"	}|j+                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),a
  Get Payment by ID  # noqa: E501

        Use this API to view payment details of an order for a payment ID.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderFetchPayment_with_http_info(x_api_version, order_id, cf_payment_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param cf_payment_id: The Cashfree payment or transaction ID. (required)
        :type cf_payment_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(PaymentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   r   rX   rY   ra   ri   zEGot an unexpected keyword argument '%s' to method PGOrderFetchPaymentr   r   rh   rj   rk   rl   rm   rn   Nro   rp   rr   rG  rw   rx   ry   rz   r{   r|   r}   r	  r
  z+/orders/{order_id}/payments/{cf_payment_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   r   rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGOrderFetchPaymentzCashfree.PGOrderFetchPaymente  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"57;<  !GDM	! H  :'.z':L$?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z #$(  %# 

 ""95$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd d!	}|j+                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+a6
  Get Payments for an Order  # noqa: E501

        Use this API to view all payment details for an order.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderFetchPayments_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[PaymentEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zFGot an unexpected keyword argument '%s' to method PGOrderFetchPaymentsr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   zList[PaymentEntity]rw   rx   ry   rz   r{   r|   r}   r	  r
  z/orders/{order_id}/paymentsr   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGOrderFetchPaymentszCashfree.PGOrderFetchPayments  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"68<=  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z )$(  %# 

 "")5$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   pay_order_requestzKRequest body to create a transaction at cashfree using `payment_session_id`c                 X   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g }dddddddd d!d"	}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),aQ  Order Pay  # noqa: E501

        Use this API when you have already created the orders and want Cashfree to process the payment. To use this API S2S flag needs to be enabled from the backend. In case you want to use the cards payment option the PCI DSS flag is required, for more information send an email to "care@cashfree.com".   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGPayOrder_with_http_info(x_api_version, pay_order_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param pay_order_request: Request body to create a transaction at cashfree using `payment_session_id` (required)
        :type pay_order_request: PayOrderRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(PayOrderEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rQ  rX   rY   ra   ri   z<Got an unexpected keyword argument '%s' to method PGPayOrderrh   rj   rk   rl   rm   rn   NrQ  ro   rp   rg   rq   PayOrderEntityrw   rx   ry   rz   r{   r|   r}   r	  r
  z/orders/sessionsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rQ  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   
PGPayOrderzCashfree.PGPayOrder  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&",.23  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( &'3"#67L $.#B#B $"x  &kk/11#$&' 1D~.  $$(  %# 

 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   order_create_refund_requestzRequest Body to Create Refundsc                 v   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#d$	}|j-                  d%d&|||||||||
j'                  d'      |
j'                  d(      |
j'                  d)d*      |
j'                  d+      ||
j'                  d,      -      S ).a
  Create Refund  # noqa: E501

        Use this API to initiate refunds.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderCreateRefund_with_http_info(x_api_version, order_id, order_create_refund_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param order_create_refund_request: Request Body to Create Refunds (required)
        :type order_create_refund_request: OrderCreateRefundRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(RefundEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rU  rX   rY   ra   ri   zEGot an unexpected keyword argument '%s' to method PGOrderCreateRefundr   rh   rj   rk   rl   rm   rn   NrU  ro   rp   rg   rq   rr   RefundEntityrw   rx   ry   rz   r{   r|   r}   r	  r
  /orders/{order_id}/refundsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rU  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   PGOrderCreateRefundzCashfree.PGOrderCreateRefund5  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"57;<  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( 01="#@AL $.#B#B $"x  &kk/11#$&' 1D~. z "$(  %# 

 ""(&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   	refund_idz*Refund Id of the refund you want to fetch.c                 *   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}dddddddd d!d"	}|j+                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),a
  Get Refund  # noqa: E501

        Use this API to fetch a specific refund processed on your Cashfree Account.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderFetchRefund_with_http_info(x_api_version, order_id, refund_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param refund_id: Refund Id of the refund you want to fetch. (required)
        :type refund_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(RefundEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r   rZ  rX   rY   ra   ri   zDGot an unexpected keyword argument '%s' to method PGOrderFetchRefundr   rZ  rh   rj   rk   rl   rm   rn   Nro   rp   rr   rW  rw   rx   ry   rz   r{   r|   r}   r	  r
  z&/orders/{order_id}/refunds/{refund_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r   rZ  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGOrderFetchRefundzCashfree.PGOrderFetchRefund  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H  :'.z':L$;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z "$(  %# 

 ""4e$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a>
  Get All Refunds for an Order  # noqa: E501

        Use this API to fetch all refunds processed against an order.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderFetchRefunds_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[RefundEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zEGot an unexpected keyword argument '%s' to method PGOrderFetchRefundsr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   zList[RefundEntity]rw   rx   ry   rz   r{   r|   r}   r~   rX  r   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGOrderFetchRefundszCashfree.PGOrderFetchRefundst  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"57;<  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z ($(  %#	
 ""(%$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   fetch_settlements_requestz#Request Body to get the settlementsc                 Z   | j                   }t        j                         }d}	| j                  t        j
                  k(  rd}	t        |	      }
| j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   |
|_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|d   |d   }|j)                  dg      |d<   |j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||j'                  d%      |j'                  d&      |j'                  d'd(      |j'                  d)      ||j'                  d*      +      S ),aC  Get All Settlements  # noqa: E501

        Use this API to get all settlement details by specifying the settlement ID, settlement UTR or date range.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchSettlements_with_http_info(x_api_version, fetch_settlements_request, content_type, x_request_id, x_idempotency_key, accept, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param fetch_settlements_request: Request Body to get the settlements (required)
        :type fetch_settlements_request: FetchSettlementsRequest
        :param content_type: application/json
        :type content_type: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param accept: application/json
        :type accept: str
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SettlementEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r_  r2  rX   rY   r3  ra   ri   zDGot an unexpected keyword argument '%s' to method PGFetchSettlementsrh   rj   rk   rl   rm   rn   Nr_  ro   rp   rg   rq   rr   SettlementEntityrw   rx   ry   rz   r{   r|   r}   r~   z/settlementsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r_  r2  rX   rY   r3  ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                            r'   PGFetchSettlementszCashfree.PGFetchSettlements
  s   ` ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ./;"#>?L $.#B#B $"x  &kk/11#$&' 1D~. z &$(  %#	
 ""F$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   settlement_fetch_recon_requestz.Request Body for the settlement reconciliationc                 Z   | j                   }t        j                         }d}	| j                  t        j
                  k(  rd}	t        |	      }
| j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   |
|_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|d   |d   }|j)                  dg      |d<   |j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||j'                  d%      |j'                  d&      |j'                  d'd(      |j'                  d)      ||j'                  d*      +      S ),a  Settlement Reconciliation  # noqa: E501

        - Use this API to get settlement reconciliation details using Settlement ID, settlement UTR or date range. - This API will return events for the settlement IDs you want   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGSettlementFetchRecon_with_http_info(x_api_version, settlement_fetch_recon_request, content_type, x_request_id, x_idempotency_key, accept, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param settlement_fetch_recon_request: Request Body for the settlement reconciliation (required)
        :type settlement_fetch_recon_request: SettlementFetchReconRequest
        :param content_type: application/json
        :type content_type: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param accept: application/json
        :type accept: str
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SettlementReconEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rc  r2  rX   rY   r3  ra   ri   zHGot an unexpected keyword argument '%s' to method PGSettlementFetchReconrh   rj   rk   rl   rm   rn   Nrc  ro   rp   rg   rq   rr   SettlementReconEntityrw   rx   ry   rz   r{   r|   r}   r~   z/settlement/reconr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rc  r2  rX   rY   r3  ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                            r'   PGSettlementFetchReconzCashfree.PGSettlementFetchRecon  s   ` ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 34@"#CDL $.#B#B $"x  &kk/11#$&' 1D~. z +$(  %#	
 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   $create_order_settlement_request_bodyz%Create Order Settlement Request Body.c                 T   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}dddddd}|j-                  dd |||||||||	j'                  d!      |	j'                  d"      |	j'                  d#d$      |	j'                  d%      ||	j'                  d&      '      S )(a
  Mark Order For Settlement  # noqa: E501

        Use this API to pass the CBRICS ID to Cashfree and mark an order for settlement.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.MarkForSettlement_with_http_info(x_api_version, x_request_id, x_idempotency_key, create_order_settlement_request_body, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param create_order_settlement_request_body: Create Order Settlement Request Body.
        :type create_order_settlement_request_body: CreateOrderSettlementRequestBody
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rX   rY   rg  ra   ri   zCGot an unexpected keyword argument '%s' to method MarkForSettlementrh   rj   rk   rl   rm   rn   Nrg  ro   rp   rg   rq   rr   r.   rw   rx   r|   )202r   r   r   r   z/orders/settlementsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rX   rY   rg  ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   MarkForSettlementzCashfree.MarkForSettlementO  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 9:F"#IJL $.#B#B $"x  &kk/11#$&' 1D~. z $($#
 ""!6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd d!	}|j+                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+a@
  Get Settlements by Order ID  # noqa: E501

        Use this API to view all the settlements of a particular order.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGOrderFetchSettlement_with_http_info(x_api_version, order_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param order_id: The id which uniquely identifies your order (required)
        :type order_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SettlementEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r   ra   ri   zHGot an unexpected keyword argument '%s' to method PGOrderFetchSettlementr   rh   rj   rk   rl   rm   rn   Nro   rp   rr   ra  rw   rx   ry   rz   r{   r|   r}   r	  r
  z/orders/{order_id}/settlementsr   rb   rc   rd   Tre   rf   r   r   r   s                         r'   PGOrderFetchSettlementzCashfree.PGOrderFetchSettlement  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H  :'.z':L$ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z &$(  %# 

 "",e$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   simulation_idzBProvide the SimulationId for which the details have to be fetched.c                 
   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddd}|j+                  dd |||||||||	j'                  d!      |	j'                  d"      |	j'                  d#d$      |	j'                  d%      ||	j'                  d&      '      S )(aI
  Fetch Simulation  # noqa: E501

        Use this API to fetch simulated payment details.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGFetchSimulation_with_http_info(x_api_version, simulation_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param simulation_id: Provide the SimulationId for which the details have to be fetched. (required)
        :type simulation_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SimulationResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rm  rX   rY   ra   ri   zCGot an unexpected keyword argument '%s' to method PGFetchSimulationrm  rh   rj   rk   rl   rm   rn   Nro   rp   rr   SimulationResponserw   rx   ry   r|   r}   r   r   r   r   r   r   z/simulate/{simulation_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   rm  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   PGFetchSimulationzCashfree.PGFetchSimulation  s|   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H  ?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z ($( #
 ""'$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   simulate_requestzRequest Body to Make Simulationc                 V   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd }|j-                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a
  Simulate Payment  # noqa: E501

        Use this API to simulate payment. To use this API you should first create an order using the Create Order API. Also, you need to create a payment with the same order.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGSimulatePayment_with_http_info(x_api_version, simulate_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param simulate_request: Request Body to Make Simulation (required)
        :type simulate_request: SimulateRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SimulationResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rr  rX   rY   ra   ri   zCGot an unexpected keyword argument '%s' to method PGSimulatePaymentrh   rj   rk   rl   rm   rn   Nrr  ro   rp   rg   rq   rr   ro  rw   rx   ry   r|   r}   rp  z	/simulater   rb   rc   rd   Tre   rf   r   r   )r/   rU   rr  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGSimulatePaymentzCashfree.PGSimulatePayment  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( %&2"#56L $.#B#B $"x  &kk/11#$&' 1D~. z ($( #
 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   #create_subscription_payment_requestz.Request body to create a subscription payment.c                 X   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!}|j-                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+a
  Raise a charge or create an auth.  # noqa: E501

        Use this API to create an auth or to raise a charge.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsCreatePayment_with_http_info(x_api_version, create_subscription_payment_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_subscription_payment_request: Request body to create a subscription payment. (required)
        :type create_subscription_payment_request: CreateSubscriptionPaymentRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(CreateSubscriptionPaymentResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   ru  rX   rY   ra   ri   zCGot an unexpected keyword argument '%s' to method SubsCreatePaymentrh   rj   rk   rl   rm   rn   Nru  ro   rp   rg   rq   rr   !CreateSubscriptionPaymentResponserw   rx   ry   r{   r|   r}   r   r   r   r   r   r   r   z/subscriptions/payr   rb   rc   rd   Tre   rf   r   r   )r/   rU   ru  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SubsCreatePaymentzCashfree.SubsCreatePayment  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 89E"#HIL $.#B#B $"x  &kk/11#$&' 1D~. z 7$( %#
 "" &$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_plan_requestzRequest body to create a plan.c                 X   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!}|j-                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+u  Create a plan.  # noqa: E501

        A plan allows your customer to identify the features you offer along with your pricing. You can create plans as per the pricing you support for your services. For each plan, you can set a pre-decided frequency and amount with which they’ll be charged. Example: Netflix Plans - Premium, Basic, Standard, Mobile. Each plan differs and caters for a particular set of audiences.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsCreatePlan_with_http_info(x_api_version, create_plan_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_plan_request: Request body to create a plan. (required)
        :type create_plan_request: CreatePlanRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(PlanEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rz  rX   rY   ra   ri   z@Got an unexpected keyword argument '%s' to method SubsCreatePlanrh   rj   rk   rl   rm   rn   Nrz  ro   rp   rg   rq   rr   
PlanEntityrw   rx   ry   r{   r|   r}   rx  z/plansr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rz  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SubsCreatePlanzCashfree.SubsCreatePlanH   s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"0267  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ()5"#89L $.#B#B $"x  &kk/11#$&' 1D~. z  $( %#
 ""f$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   subscription_idzDProvide the SubscriptionId using which the subscription was created."create_subscription_refund_requestz-Request body to create a subscription refund.c                 r   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"}|j-                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),a  Create a refund.  # noqa: E501

        This API allows you to create refund on a successful payment. Refund amount can be partial or the full amount of the payment.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsCreateRefund_with_http_info(x_api_version, subscription_id, create_subscription_refund_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param create_subscription_refund_request: Request body to create a subscription refund. (required)
        :type create_subscription_refund_request: CreateSubscriptionRefundRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionPaymentRefundEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r~  r  rX   rY   ra   ri   zBGot an unexpected keyword argument '%s' to method SubsCreateRefundr~  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   SubscriptionPaymentRefundEntityrw   rx   ry   r{   r|   r}   rx  z(/subscriptions/{subscription_id}/refundsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r~  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   SubsCreateRefundzCashfree.SubsCreateRefund   s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"2489  !GDM	! H  $%.56G.HL*+ gkk*b9:-9N>*.;N?+2CN./+<'( 78D"#GHL $.#B#B $"x  &kk/11#$&' 1D~. z 5$( %#
 ""6$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_subscription_requestz&Request body to create a subscription.c                 X   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!}|j-                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+ao
  Create Subscription  # noqa: E501

        Use this API to create a new subscription.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsCreateSubscription_with_http_info(x_api_version, create_subscription_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_subscription_request: Request body to create a subscription. (required)
        :type create_subscription_request: CreateSubscriptionRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zHGot an unexpected keyword argument '%s' to method SubsCreateSubscriptionrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   SubscriptionEntityrw   rx   ry   r{   r|   r}   rx  z/subscriptionsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SubsCreateSubscriptionzCashfree.SubsCreateSubscription!  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 01="#@AL $.#B#B $"x  &kk/11#$&' 1D~. z ($( %#
 ""f$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   plan_idz<Provide the PlanId for which the details have to be fetched.c                 
   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddd}|j+                  dd |||||||||	j'                  d!      |	j'                  d"      |	j'                  d#d$      |	j'                  d%      ||	j'                  d&      '      S )(a
  Fetch Plan  # noqa: E501

        Use this API to fetch plan details.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsFetchPlan_with_http_info(x_api_version, plan_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param plan_id: Provide the PlanId for which the details have to be fetched. (required)
        :type plan_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(PlanEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   z?Got an unexpected keyword argument '%s' to method SubsFetchPlanr  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r|  rw   rx   ry   r|   r}   rp  z/plans/{plan_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   SubsFetchPlanzCashfree.SubsFetchPlan"  s|   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"/156  !GDM	! H  9&-i&8L# gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z  $( #
 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                 
   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddd}|j+                  dd |||||||||	j'                  d!      |	j'                  d"      |	j'                  d#d$      |	j'                  d%      ||	j'                  d&      '      S )(aR
  Fetch Subscription  # noqa: E501

        Use this API to fetch subscription details.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsFetchSubscription_with_http_info(x_api_version, subscription_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   rU   r~  rX   rY   ra   ri   zGGot an unexpected keyword argument '%s' to method SubsFetchSubscriptionr~  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r  rw   rx   ry   r|   r}   rp  z /subscriptions/{subscription_id}r   rb   rc   rd   Tre   rf   r   r   r/   rU   r~  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   SubsFetchSubscriptionzCashfree.SubsFetchSubscription"  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"79=>  !GDM	! H  $%.56G.HL*+ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z ($( #
 "".$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   
payment_idz:Provide the PaymentId using which the payment was created.c                 $   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddd}|j+                  d d!|||||||||
j'                  d"      |
j'                  d#      |
j'                  d$d%      |
j'                  d&      ||
j'                  d'      (      S ))a  Fetch details of a single payment.  # noqa: E501

        Use this API to fetch details of a single payment of a subscription.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsFetchSubscriptionPayment_with_http_info(x_api_version, subscription_id, payment_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param payment_id: Provide the PaymentId using which the payment was created. (required)
        :type payment_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionPaymentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r~  r  rX   rY   ra   ri   zNGot an unexpected keyword argument '%s' to method SubsFetchSubscriptionPaymentr~  r  rh   rj   rk   rl   rm   rn   Nro   rp   rr   SubscriptionPaymentEntityrw   rx   ry   r|   r}   rp  z6/subscriptions/{subscription_id}/payments/{payment_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r~  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SubsFetchSubscriptionPaymentz%Cashfree.SubsFetchSubscriptionPaymentE#  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&">@DE  !GDM	! H  $%.56G.HL*+< )0)>L& gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z /$( #
 ""De$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}dddddddd}|j+                  d d!|||||||||	j'                  d"      |	j'                  d#      |	j'                  d$d%      |	j'                  d&      ||	j'                  d'      (      S ))a
  Fetch details of all payments of a subscription.  # noqa: E501

        Use this API to fetch all payments of a subscription.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsFetchSubscriptionPayments_with_http_info(x_api_version, subscription_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[SubscriptionPaymentEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r  ra   ri   zOGot an unexpected keyword argument '%s' to method SubsFetchSubscriptionPaymentsr~  rh   rj   rk   rl   rm   rn   Nro   rp   rr   zList[SubscriptionPaymentEntity]rw   rx   ry   r{   r|   r}   rx  z)/subscriptions/{subscription_id}/paymentsr   rb   rc   rd   Tre   rf   r   r   r  s                         r'   SubsFetchSubscriptionPaymentsz&Cashfree.SubsFetchSubscriptionPayments#  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"?AEF  !GDM	! H  $%.56G.HL*+ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 5$( %#
 ""7$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   z?Provide the PaymentId for which the details have to be fetched.c                 $   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddd}|j+                  d d!|||||||||
j'                  d"      |
j'                  d#      |
j'                  d$d%      |
j'                  d&      ||
j'                  d'      (      S ))a  Fetch details of a refund.  # noqa: E501

        Use this API to fetch details of a refund of a subscription payment.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsFetchSubscriptionRefund_with_http_info(x_api_version, subscription_id, refund_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param refund_id: Provide the PaymentId for which the details have to be fetched. (required)
        :type refund_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionPaymentRefundEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r~  rZ  rX   rY   ra   ri   zMGot an unexpected keyword argument '%s' to method SubsFetchSubscriptionRefundr~  rZ  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r  rw   rx   ry   r|   r}   rp  z4/subscriptions/{subscription_id}/refunds/{refund_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r~  rZ  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SubsFetchSubscriptionRefundz$Cashfree.SubsFetchSubscriptionRefundr$  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"=?CD  !GDM	! H  $%.56G.HL*+;(/(<L% gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 5$( #
 ""BE$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   manage_subscription_requestz&Request body to manage a subscription.c                 r   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"}|j-                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),aX  Manage a subscription.  # noqa: E501

        Use this API to manage a subscription. You can cancel, pause, activate or change the plan of a subscription.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsManageSubscription_with_http_info(x_api_version, subscription_id, manage_subscription_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param manage_subscription_request: Request body to manage a subscription. (required)
        :type manage_subscription_request: ManageSubscriptionRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r~  r  rX   rY   ra   ri   zHGot an unexpected keyword argument '%s' to method SubsManageSubscriptionr~  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   r  rw   rx   ry   r{   r|   r}   rx  z'/subscriptions/{subscription_id}/manager   rb   rc   rd   Tre   rf   r   r   )r/   rU   r~  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   SubsManageSubscriptionzCashfree.SubsManageSubscription%  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H  $%.56G.HL*+ gkk*b9:-9N>*.;N?+2CN./+<'( 01="#@AL $.#B#B $"x  &kk/11#$&' 1D~. z ($( %#
 ""5v$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   #manage_subscription_payment_requestz.Request body to manage a subscription payment.c                    | j                   }t        j                         }d}	| j                  t        j
                  k(  rd}	t        |	      }
| j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   | j                  |
j                  d<   |
|_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }|d   r|d   |d<   |d   r|d   |d<   g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|d   |d   }|j)                  dg      |d<   |j'                  d|j+                  dg            }|r||d<   g d}ddddd d!d"}|j-                  d#d$|||||||||j'                  d%      |j'                  d&      |j'                  d'd(      |j'                  d)      ||j'                  d*      +      S ),a  Manage a single payment.  # noqa: E501

        Use this API to manage a payment of a subscription. A payment can be cancelled or retried with this API.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubsManageSubscriptionPayment_with_http_info(x_api_version, subscription_id, payment_id, manage_subscription_payment_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_id: Provide the SubscriptionId using which the subscription was created. (required)
        :type subscription_id: str
        :param payment_id: Provide the PaymentId using which the payment was created. (required)
        :type payment_id: str
        :param manage_subscription_payment_request: Request body to manage a subscription payment. (required)
        :type manage_subscription_payment_request: ManageSubscriptionPaymentRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionPaymentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r~  r  r  rX   rY   ra   ri   zOGot an unexpected keyword argument '%s' to method SubsManageSubscriptionPaymentr~  r  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   r  rw   rx   ry   r|   r}   rp  z=/subscriptions/{subscription_id}/payments/{payment_id}/manager   rb   rc   rd   Tre   rf   r   r   )r/   rU   r~  r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                            r'   SubsManageSubscriptionPaymentz&Cashfree.SubsManageSubscriptionPayment%  s   ` ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"?AEF  !GDM	! H  $%.56G.HL*+< )0)>L& gkk*b9:-9N>*.;N?+2CN./+<'( 89E"#HIL $.#B#B $"x  &kk/11#$&' 1D~. z /$( #
 ""KV$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   zSelect the .jpg file that should be uploaded or provide the path of that file. You cannot upload a file that is more than 1MB in size.payment_id2z8Authorization Payment Id for physical nach authorizationactionz:Action to be performed on the file. Can be SUBMIT_DOCUMENTc                    | j                   }t        j                         }	d}
| j                  t        j
                  k(  rd}
t        |
      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||	_        t               }g d	}|j                  g d
       |d   j!                         D ]  \  }}||vrt#        d|z        |||<    |d= i }i }|d   r|d   |d<   g }t%        |j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }|d   r|d   |d<   |d   r|j)                  d|d   f       |d   r|j)                  d|d   f       d}|	j+                  dg      |d<   |j'                  d|	j-                  dg            }|r||d<   g d}ddd d!d"d#d$d%}|	j/                  d&d'|||||||||j'                  d(      |j'                  d)      |j'                  d*d+      |j'                  d,      ||j'                  d-      .      S )/aL  API to upload file for Physical Nach Authorization.  # noqa: E501

        Use this API to upload file for Physical Nach Authorization.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubscriptionDocumentUpload_with_http_info(x_api_version, payment_id, file, payment_id2, action, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param payment_id: Provide the PaymentId using which the payment was created. (required)
        :type payment_id: str
        :param file: Select the .jpg file that should be uploaded or provide the path of that file. You cannot upload a file that is more than 1MB in size. (required)
        :type file: bytearray
        :param payment_id2: Authorization Payment Id for physical nach authorization (required)
        :type payment_id2: str
        :param action: Action to be performed on the file. Can be SUBMIT_DOCUMENT (required)
        :type action: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(UploadPnachImageResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r   r  r  rX   rY   ra   ri   zLGot an unexpected keyword argument '%s' to method SubscriptionDocumentUploadr  rh   rj   rk   rl   rm   rn   r   r  r  Nro   rp   rg   r   rq   rr   UploadPnachImageResponserw   rx   ry   r{   r|   r}   rx  z)/subscriptions/pay/documents/{payment_id}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                             r'   SubscriptionDocumentUploadz#Cashfree.SubscriptionDocumentUploadR&  s   d ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"<>BC  !GDM	! H  < )0)>L& gkk*b9:-9N>*.;N?+2CN./+<'( 6?$V_F6N=!w}/E FG878+< => #-#B#B $"x  &kk/11&')* 1D~. z .$( %#
 ""7$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&    subscription_eligibility_requestzDRequest body to fetch subscription eligibile payment method details.c                 X   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!}|j-                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+a  API to get all the payment method details available for subscription payments.  # noqa: E501

        Use this API to check if a payment method is enabled for your account.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SubscriptionEligibility_with_http_info(x_api_version, subscription_eligibility_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param subscription_eligibility_request: Request body to fetch subscription eligibile payment method details. (required)
        :type subscription_eligibility_request: SubscriptionEligibilityRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SubscriptionEligibilityResponse, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zIGot an unexpected keyword argument '%s' to method SubscriptionEligibilityrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   SubscriptionEligibilityResponserw   rx   ry   r{   r|   r}   rx  z*/subscriptions/eligibility/payment_methodsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SubscriptionEligibilityz Cashfree.SubscriptionEligibility&  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"9;?@  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 56B"#EFL $.#B#B $"x  &kk/11#$&' 1D~. z 5$( %#
 ""8&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   customer_idzHYour Customer ID that you had sent during create order API `POST/orders`instrument_idz+The instrument_id which needs to be deletedc                 *   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}dddddddd d!d"	}|j+                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),a  Delete Saved Card Instrument  # noqa: E501

        Use this API to delete a saved card instrument for a customer_id and instrument_id  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCustomerDeleteInstrument_with_http_info(x_api_version, customer_id, instrument_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param customer_id: Your Customer ID that you had sent during create order API `POST/orders` (required)
        :type customer_id: str
        :param instrument_id: The instrument_id which needs to be deleted (required)
        :type instrument_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(InstrumentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   rU   r  r  rX   rY   ra   ri   zLGot an unexpected keyword argument '%s' to method PGCustomerDeleteInstrumentr  r  rh   rj   rk   rl   rm   rn   Nro   rp   rr   InstrumentEntityrw   rx   ry   rz   r{   r|   r}   r	  r
  4/customers/{customer_id}/instruments/{instrument_id}DELETErb   rc   rd   Tre   rf   r   r   r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGCustomerDeleteInstrumentz#Cashfree.PGCustomerDeleteInstrument'  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"<>BC  !GDM	! H  =!*1-*@L'?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z &$(  %# 

 ""BH$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   zCThe instrument_id of the saved instrument which needs to be queriedc                 *   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}dddddddd d!d"	}|j+                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),a*  Fetch Specific Saved Card Instrument  # noqa: E501

        Use this API to fetch a single specific saved card for a customer_id by it's instrument_id  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCustomerFetchInstrument_with_http_info(x_api_version, customer_id, instrument_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param customer_id: Your Customer ID that you had sent during create order API `POST/orders` (required)
        :type customer_id: str
        :param instrument_id: The instrument_id of the saved instrument which needs to be queried (required)
        :type instrument_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(InstrumentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r  ra   ri   zKGot an unexpected keyword argument '%s' to method PGCustomerFetchInstrumentr  r  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r  rw   rx   ry   rz   r{   r|   r}   r	  r
  r  r   rb   rc   rd   Tre   rf   r   r   r  s                          r'   PGCustomerFetchInstrumentz"Cashfree.PGCustomerFetchInstrument7(  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&";=AB  !GDM	! H  =!*1-*@L'?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z &$(  %# 

 ""BE$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   instrument_typez)Payment mode or type of saved instrument c                 \   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }|
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g d}dddddddd d!}|j-                  d"d#|||||||||
j%                  d$      |
j%                  d%      |
j%                  d&d'      |
j%                  d(      ||
j%                  d)      *      S )+a
  Fetch All Saved Card Instrument  # noqa: E501

        Use this API to fetch saved cards for a customer_id   # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCustomerFetchInstruments_with_http_info(x_api_version, customer_id, instrument_type, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param customer_id: Your Customer ID that you had sent during create order API `POST/orders` (required)
        :type customer_id: str
        :param instrument_type: Payment mode or type of saved instrument  (required)
        :type instrument_type: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[InstrumentEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zLGot an unexpected keyword argument '%s' to method PGCustomerFetchInstrumentsr  r  Nrh   rj   rk   rl   rm   rn   ro   rp   rr   zList[InstrumentEntity]rw   rx   ry   rz   r{   r|   r}   r~   z$/customers/{customer_id}/instrumentsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   PGCustomerFetchInstrumentsz#Cashfree.PGCustomerFetchInstruments(  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"<>BC  !GDM	! H  =!*1-*@L' ;;()5  "3W=N5O!PQ gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z ,$(  %#	
 ""2E$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   zHThe instrument_id of the saved card instrument which needs to be queriedc                 *   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   |
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}dddddddd d!d"	}|j+                  d#d$|||||||||
j'                  d%      |
j'                  d&      |
j'                  d'd(      |
j'                  d)      ||
j'                  d*      +      S ),a_  Fetch cryptogram for a saved card instrument  # noqa: E501

        Use this API To get the card network token, token expiry and cryptogram for a saved card instrument using instrument id  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.PGCustomerInstrumentsFetchCryptogram_with_http_info(x_api_version, customer_id, instrument_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param customer_id: Your Customer ID that you had sent during create order API `POST/orders` (required)
        :type customer_id: str
        :param instrument_id: The instrument_id of the saved card instrument which needs to be queried (required)
        :type instrument_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(CryptogramEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   r  ra   ri   zVGot an unexpected keyword argument '%s' to method PGCustomerInstrumentsFetchCryptogramr  r  rh   rj   rk   rl   rm   rn   Nro   rp   rr   CryptogramEntityrw   rx   ry   rz   r{   r|   r}   r	  r
  z?/customers/{customer_id}/instruments/{instrument_id}/cryptogramr   rb   rc   rd   Tre   rf   r   r   r  s                          r'   $PGCustomerInstrumentsFetchCryptogramz-Cashfree.PGCustomerInstrumentsFetchCryptogramn)  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"FHLM  !GDM	! H  =!*1-*@L'?#,3O,DL) gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z &$(  %# 

 ""Mu$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_partner_vpa_requestc                 V   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g }dddddddd d!}|j-                  d"d#|||||||||	j'                  d$      |	j'                  d%      |	j'                  d&d'      |	j'                  d(      ||	j'                  d)      *      S )+a`
  Create Pre-Activated Vpas for partner  # noqa: E501

        Use this API to create a pre-activated vpa for partner.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.TerminalCreateQrCodes_with_http_info(x_api_version, x_request_id, x_idempotency_key, create_partner_vpa_request, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param create_partner_vpa_request:
        :type create_partner_vpa_request: CreatePartnerVpaRequest
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[StaticQrResponseEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rX   rY   r  ra   ri   zGGot an unexpected keyword argument '%s' to method TerminalCreateQrCodesrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   List[StaticQrResponseEntity]rx   rw   ry   rz   r{   r|   r}   r   r   r   r   r   r   r   r   /partners/merchant/qrcodesr   rb   rc   rd   Tre   rf   r   r   )r/   rU   rX   rY   r  ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   TerminalCreateQrCodeszCashfree.TerminalCreateQrCodes*  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"79=>  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( /0<"#?@L $.#B#B $"x  &kk/11#$&' 1D~.  2($  %#	
 ""(&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   zStatus of pre-created Qr.cf_terminal_idzGCashfree terminal id for which you want to get pre-generated staticQRs.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }g }|
j%                  d      |j'                  d|
d   f       |
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g }ddddddddd }|j-                  d!d"|||||||||
j%                  d#      |
j%                  d$      |
j%                  d%d&      |
j%                  d'      ||
j%                  d(      )      S )*a
  Get Pre-Activated Vpas for partner  # noqa: E501

        Use this API to get a pre-activated vpa for partner.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.TerminalGetQrCodes_with_http_info(x_api_version, status, cf_terminal_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param status: Status of pre-created Qr. (required)
        :type status: str
        :param cf_terminal_id: Cashfree terminal id for which you want to get pre-generated staticQRs. (required)
        :type cf_terminal_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[StaticQrResponseEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   rB  r  rX   rY   ra   ri   zDGot an unexpected keyword argument '%s' to method TerminalGetQrCodesrB  Nr  rh   rj   rk   rl   rm   rn   ro   rp   r  rx   rw   ry   rz   r{   r|   r}   r  r  r   rb   rc   rd   Tre   rf   r   r   )r/   rU   rB  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   TerminalGetQrCodeszCashfree.TerminalGetQrCodes*  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H   ;;x ,  (GH,=!>?;;'(4  "2G<L4M!NO gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x   2($  %#	
 ""(%$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   create_terminal_requestz(Request Body to Create Terminal for SPOSc                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),a_
  Create Terminal  # noqa: E501

        Use this API to create new terminals to use softPOS.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposCreateTerminal_with_http_info(x_api_version, create_terminal_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_terminal_request: Request Body to Create Terminal for SPOS (required)
        :type create_terminal_request: CreateTerminalRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(TerminalEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zDGot an unexpected keyword argument '%s' to method SposCreateTerminalrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   TerminalEntityrw   rx   ry   rz   r{   r|   r}   r~   z	/terminalr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposCreateTerminalzCashfree.SposCreateTerminalC+  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( ,-9"#<=L $.#B#B $"x  &kk/11#$&' 1D~. z $$(  %#	
 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   #create_terminal_transaction_requestz-Request body to create a terminal transactionc                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),a  Create Terminal Transaction  # noqa: E501

        Use this API to create a new terminal transaction. To use this API you should first create an order using the Create Order API. Also, you need to enter the terminal details while creating the order and pass the same terminal information while creating a transaction using the below mentioned API.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposCreateTerminalTransaction_with_http_info(x_api_version, create_terminal_transaction_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param create_terminal_transaction_request: Request body to create a terminal transaction (required)
        :type create_terminal_transaction_request: CreateTerminalTransactionRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(TerminalTransactionEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zOGot an unexpected keyword argument '%s' to method SposCreateTerminalTransactionrh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   TerminalTransactionEntityrw   rx   ry   rz   r{   r|   r}   r~   z/terminal/transactionsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposCreateTerminalTransactionz&Cashfree.SposCreateTerminalTransaction+  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"?AEF  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 89E"#HIL $.#B#B $"x  &kk/11#$&' 1D~. z /$(  %#	
 ""$f$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   demap_soundbox_vpa_requestz"Request body to demap soundbox vpac                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),ak
  Demap Soundbox Vpa  # noqa: E501

        Use this API to demap a device from soundbox.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposDemapSoundboxVpa_with_http_info(x_api_version, demap_soundbox_vpa_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param demap_soundbox_vpa_request: Request body to demap soundbox vpa (required)
        :type demap_soundbox_vpa_request: DemapSoundboxVpaRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[SoundboxVpaEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zFGot an unexpected keyword argument '%s' to method SposDemapSoundboxVparh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   List[SoundboxVpaEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/terminal/demap/soundboxr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposDemapSoundboxVpazCashfree.SposDemapSoundboxVpa{,  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"68<=  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( /0<"#?@L $.#B#B $"x  &kk/11#$&' 1D~. z -$(  %#	
 ""&$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   terminal_phone_noz:The terminal for which you want to view the order details.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }|	d   r|	d   |d<   g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j)                  dg      |d<   g d}ddddddddd }|j+                  d!d"|||||||||	j'                  d#      |	j'                  d$      |	j'                  d%d&      |	j'                  d'      ||	j'                  d(      )      S )*a^
  Get Terminal Status using Phone Number  # noqa: E501

        Use this API to view all details of a terminal.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposFetchTerminal_with_http_info(x_api_version, terminal_phone_no, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param terminal_phone_no: The terminal for which you want to view the order details. (required)
        :type terminal_phone_no: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(TerminalEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zCGot an unexpected keyword argument '%s' to method SposFetchTerminalr  rh   rj   rk   rl   rm   rn   Nro   rp   rr   r  rw   rx   ry   rz   r{   r|   r}   r~   z/terminal/{terminal_phone_no}r   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                         r'   SposFetchTerminalzCashfree.SposFetchTerminal-  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"359:  !GDM	! H  &'078K0LL,- gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z $$(  %#	
 ""+U$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   zkPhone number assigned to the terminal. Required if you are not providing the cf_terminal_id in the request.zCashfree terminal id for which you want to get staticQRs. Required if you are not providing the terminal_phone_number in the request.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }g }|
j%                  d      |j'                  d|
d   f       |
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g d}dddddddd d!}|j-                  d"d#|||||||||
j%                  d$      |
j%                  d%      |
j%                  d&d'      |
j%                  d(      ||
j%                  d)      *      S )+a  Fetch Terminal QR Codes  # noqa: E501

        You can fetch all the StaticQRs corresponding to given terminal id or phone number. Provide either the terminal_phone_no or terminal_id in the request.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposFetchTerminalQrCodes_with_http_info(x_api_version, terminal_phone_no, cf_terminal_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param terminal_phone_no: Phone number assigned to the terminal. Required if you are not providing the cf_terminal_id in the request. (required)
        :type terminal_phone_no: str
        :param cf_terminal_id: Cashfree terminal id for which you want to get staticQRs. Required if you are not providing the terminal_phone_number in the request. (required)
        :type cf_terminal_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[FetchTerminalQRCodesEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zJGot an unexpected keyword argument '%s' to method SposFetchTerminalQrCodesr  Nr  rh   rj   rk   rl   rm   rn   ro   rp   rr   z List[FetchTerminalQRCodesEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/terminal/qrcodesr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposFetchTerminalQrCodesz!Cashfree.SposFetchTerminalQrCodes-  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&":<@A  !GDM	! H   ;;*+7  "5w?R7S!TU;;'(4  "2G<L4M!NO gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z 6$(  %#	
 ""$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   device_serial_noz_Device Serial No assinged. Required if you are not providing the cf_terminal_id in the request.zCashfree terminal id for which you want to get Soundbox Vpa. Required if you are not providing the device_serial_no in the request.c                    | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }g }|
j%                  d      |j'                  d|
d   f       |
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g d}dddddddd d!}|j-                  d"d#|||||||||
j%                  d$      |
j%                  d%      |
j%                  d&d'      |
j%                  d(      ||
j%                  d)      *      S )+a  Fetch Terminal Soundbox vpa  # noqa: E501

        You can fetch all the active and mapped SoundboxVpa corresponding to given terminal id or deviceSerialNo. Provide either the device_serial_no or cf_terminal_id in the request.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposFetchTerminalSoundboxVpa_with_http_info(x_api_version, device_serial_no, cf_terminal_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param device_serial_no: Device Serial No assinged. Required if you are not providing the cf_terminal_id in the request. (required)
        :type device_serial_no: str
        :param cf_terminal_id: Cashfree terminal id for which you want to get Soundbox Vpa. Required if you are not providing the device_serial_no in the request. (required)
        :type cf_terminal_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[SoundboxVpaEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zNGot an unexpected keyword argument '%s' to method SposFetchTerminalSoundboxVpar  Nr  rh   rj   rk   rl   rm   rn   ro   rp   rr   r  rw   rx   ry   rz   r{   r|   r}   r~   z/terminal/soundbox/qrcodesr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposFetchTerminalSoundboxVpaz%Cashfree.SposFetchTerminalSoundboxVpaG.  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&">@DE  !GDM	! H   ;;)*6  "4g>P6Q!RS;;'(4  "2G<L4M!NO gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z -$(  %#	
 ""(%$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   utrzUtr of the transaction.zJProvide the Cashfree terminal ID for which the details have to be updated.c                 \   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }|
j%                  d      |j'                  d|
d   f       t)        |
j%                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|j+                  dg      |d<   g d}dddddddd d!}|j-                  d"d#|||||||||
j%                  d$      |
j%                  d%      |
j%                  d&d'      |
j%                  d(      ||
j%                  d)      *      S )+a
  Get Terminal Transaction  # noqa: E501

        Use this API to get  terminal transaction.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposFetchTerminalTransaction_with_http_info(x_api_version, utr, cf_terminal_id, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param utr: Utr of the transaction. (required)
        :type utr: str
        :param cf_terminal_id: Provide the Cashfree terminal ID for which the details have to be updated. (required)
        :type cf_terminal_id: str
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(TerminalPaymentEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zNGot an unexpected keyword argument '%s' to method SposFetchTerminalTransactionr  r  Nrh   rj   rk   rl   rm   rn   ro   rp   rr   TerminalPaymentEntityrw   rx   ry   rz   r{   r|   r}   r~   z#/terminal/{cf_terminal_id}/paymentsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposFetchTerminalTransactionz%Cashfree.SposFetchTerminalTransaction.  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&">@DE  !GDM	! H  #$-45E-FL)* ;;u)  %!89 gkk*b9:-9N>*.;N?+2CN./+<'( #-#B#B $"x  z +$(  %#	
 ""15$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   onboard_soundbox_vpa_requestz$Request body to onboard soundbox vpac                 Z   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }| j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   | j                  |j                  d<   ||_        t               }	g d	}
|
j                  g d
       |	d   j!                         D ]  \  }}||
vrt#        d|z        ||	|<    |	d= i }i }g }t%        |	j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|	d   |	d   }|j)                  dg      |d<   |	j'                  d|j+                  dg            }|r||d<   g d}ddddddd d!d"}|j-                  d#d$|||||||||	j'                  d%      |	j'                  d&      |	j'                  d'd(      |	j'                  d)      ||	j'                  d*      +      S ),ay
  Onboard Soundbox Vpa  # noqa: E501

        Use this API to onboard a terminal Vpa to soundbox.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposOnboardSoundboxVpa_with_http_info(x_api_version, onboard_soundbox_vpa_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param onboard_soundbox_vpa_request: Request body to onboard soundbox vpa (required)
        :type onboard_soundbox_vpa_request: OnboardSoundboxVpaRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SoundboxVpaEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  rX   rY   ra   ri   zHGot an unexpected keyword argument '%s' to method SposOnboardSoundboxVparh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   SoundboxVpaEntityrw   rx   ry   rz   r{   r|   r}   r~   z/terminal/soundboxr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                          r'   SposOnboardSoundboxVpazCashfree.SposOnboardSoundboxVpa}/  s   X ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H   gkk*b9:-9N>*.;N?+2CN./+<'( 12>"#ABL $.#B#B $"x  &kk/11#$&' 1D~. z '$(  %#	
 "" &$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   update_soundbox_vpa_requestz#Request body to update soundbox vpac                 t   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a  Update Soundbox Vpa  # noqa: E501

        Use this API to update a terminal Vpa to soundbox.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposUpdateSoundboxVpa_with_http_info(x_api_version, cf_terminal_id, update_soundbox_vpa_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param cf_terminal_id: Provide the Cashfree terminal ID for which the details have to be updated. (required)
        :type cf_terminal_id: str
        :param update_soundbox_vpa_request: Request body to update soundbox vpa (required)
        :type update_soundbox_vpa_request: UpdateSoundboxVpaRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(SoundboxVpaEntity, status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zGGot an unexpected keyword argument '%s' to method SposUpdateSoundboxVpar  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   r  rw   rx   ry   rz   r{   r|   r}   r~   z#/terminal/{cf_terminal_id}/soundboxr  rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   SposUpdateSoundboxVpazCashfree.SposUpdateSoundboxVpa0  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"79=>  !GDM	! H  #$-45E-FL)* gkk*b9:-9N>*.;N?+2CN./+<'( 01="#@AL $.#B#B $"x  &kk/11#$&' 1D~. z '$(  %#	
 ""17$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   update_terminal_requestz)Request Body to update terminal for SPOS.c                 t   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a  Update Terminal  # noqa: E501

        Use this API to update the terminal details. Email, Phone Number, and Terminal Meta are updatable for "Storefront". Only account status change is possible in case of "Agent".  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposUpdateTerminal_with_http_info(x_api_version, cf_terminal_id, update_terminal_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param cf_terminal_id: Provide the Cashfree terminal ID for which the details have to be updated. (required)
        :type cf_terminal_id: str
        :param update_terminal_request: Request Body to update terminal for SPOS. (required)
        :type update_terminal_request: UpdateTerminalRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[UpdateTerminalEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zDGot an unexpected keyword argument '%s' to method SposUpdateTerminalr  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   List[UpdateTerminalEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/terminal/{cf_terminal_id}r  rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   SposUpdateTerminalzCashfree.SposUpdateTerminal0  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"46:;  !GDM	! H  #$-45E-FL)* gkk*b9:-9N>*.;N?+2CN./+<'( ,-9"#<=L $.#B#B $"x  &kk/11#$&' 1D~. z 0$(  %#	
 ""('$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   update_terminal_status_requestz0Request Body to update terminal status for SPOS.c                 t   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a9  Update Terminal Status  # noqa: E501

        Use this API to update the terminal status.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposUpdateTerminalStatus_with_http_info(x_api_version, cf_terminal_id, update_terminal_status_request, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param cf_terminal_id: Provide the Cashfree terminal ID for which the details have to be updated. (required)
        :type cf_terminal_id: str
        :param update_terminal_status_request: Request Body to update terminal status for SPOS. (required)
        :type update_terminal_status_request: UpdateTerminalStatusRequest
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[UpdateTerminalEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zJGot an unexpected keyword argument '%s' to method SposUpdateTerminalStatusr  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   r  rw   rx   ry   rz   r{   r|   r}   r~   z!/terminal/{cf_terminal_id}/statusr  rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   SposUpdateTerminalStatusz!Cashfree.SposUpdateTerminalStatus]1  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&":<@A  !GDM	! H  #$-45E-FL)* gkk*b9:-9N>*.;N?+2CN./+<'( 34@"#CDL $.#B#B $"x  &kk/11#$&' 1D~. z 0$(  %#	
 ""/$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   upload_terminal_docsz3Request Body to update terminal documents for SPOS.c                 t   | j                   }t        j                         }d}| j                  t        j
                  k(  rd}t        |      }	| j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   | j                  |	j                  d<   |	|_        t               }
g d	}|j                  g d
       |
d   j!                         D ]  \  }}||vrt#        d|z        ||
|<    |
d= i }i }|
d   r|
d   |d<   g }t%        |
j'                  di             }|r||d<   |r||d<   |r||d<   d|d<   g }i }d}|
d   |
d   }|j)                  dg      |d<   |
j'                  d|j+                  dg            }|r||d<   g d}dddddd d!d"d#}|j-                  d$d%|||||||||
j'                  d&      |
j'                  d'      |
j'                  d(d)      |
j'                  d*      ||
j'                  d+      ,      S )-a  Upload Terminal Docs  # noqa: E501

        Use this API to upload the terminal documents.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.SposUploadTerminalDocs_with_http_info(x_api_version, cf_terminal_id, upload_terminal_docs, x_request_id, x_idempotency_key, async_req=True)
        >>> result = thread.get()

        :param x_api_version: API version to be used. Format is in YYYY-MM-DD (required)
        :type x_api_version: str
        :param cf_terminal_id: Provide the Cashfree terminal ID for which the details have to be updated. (required)
        :type cf_terminal_id: str
        :param upload_terminal_docs: Request Body to update terminal documents for SPOS. (required)
        :type upload_terminal_docs: UploadTerminalDocs
        :param x_request_id: Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree
        :type x_request_id: str
        :param x_idempotency_key: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.  
        :type x_idempotency_key: UUID
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the 
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :type _preload_content: bool, optional
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :type _return_http_data_only: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_auth: dict, optional
        :type _content_type: string, optional: force content-type for the request
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: tuple(List[UploadTerminalDocsEntity], status_code(int), headers(HTTPHeaderDict))
        r\   r]   r^   r`   r5   r7   r8   r6   )rU   r  r  rX   rY   ra   ri   zHGot an unexpected keyword argument '%s' to method SposUploadTerminalDocsr  rh   rj   rk   rl   rm   rn   Nr  ro   rp   rg   rq   rr   zList[UploadTerminalDocsEntity]rw   rx   ry   rz   r{   r|   r}   r~   z/terminal/{cf_terminal_id}/docsr   rb   rc   rd   Tre   rf   r   r   )r/   rU   r  r  rX   rY   ri   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                           r'   SposUploadTerminalDocszCashfree.SposUploadTerminalDocs1  s   \ ((**,
, 5 554D%
 .2^^k*151C1Co.484I4I016:6M6M23/3/?/?m,#0
 (
 	
	
 "(+113 	!JD$;&"8:>?  !GDM	! H  #$-45E-FL)* gkk*b9:-9N>*.;N?+2CN./+<'( )*6"#9:L $.#B#B $"x  &kk/11#$&' 1D~. z 4$(  %#	
 ""-v$2(kk+.#*;;/G#H$[[);TB$[[);<2!++o6 # 8 	8r&   )NNNNN)NNNN)NNNNNNN)NNNNNN)r    r!   r"   r4   r5   r6   r7   r8   r   r#   r:   r$   XProductionXSandboxr   r   rH   r1   rT   r   r   r   r   CreateCustomerRequestr   r   r   r   r   r   r   r   SplitAfterPaymentRequestr   StaticSplitRequestr   r   VendorAdjustmentRequestr   AdjustVendorBalanceRequestr   CreateVendorRequestr   r   r   r   r   r	   r   r   ESOrderReconRequestr   UpdateVendorRequestr  r   Tupler  "EligibilityFetchCardlessEMIRequestr  EligibilityFetchOffersRequestr  EligibilityFetchPaylaterRequestr  %EligibilityFetchPaymentMethodsRequestr  CreateOfferRequestr  r  CreateOrderRequestr"  r%  r)  TerminateOrderRequestr,  UpdateOrderExtendedRequestr0  FetchReconRequestr6  r<  CreateLinkRequestr?  rA  rD  AuthorizeOrderRequestrH  OrderAuthenticatePaymentRequestrL  rN  rP  PayOrderRequestrT  OrderCreateRefundRequestrY  r\  r^  FetchSettlementsRequestrb  SettlementFetchReconRequestrf   CreateOrderSettlementRequestBodyrj  rl  rq  SimulateRequestrt   CreateSubscriptionPaymentRequestry  CreatePlanRequestr}  CreateSubscriptionRefundRequestr  CreateSubscriptionRequestr  r  r  r  r  r  ManageSubscriptionRequestr   ManageSubscriptionPaymentRequestr  r  SubscriptionEligibilityRequestr  r  r  r  r  CreatePartnerVpaRequestr  r  CreateTerminalRequestr   CreateTerminalTransactionRequestr  DemapSoundboxVpaRequestr  r  r  r  r  OnboardSoundboxVpaRequestr  UpdateSoundboxVpaRequestr  UpdateTerminalRequestr  UpdateTerminalStatusRequestr  UploadTerminalDocsr  r%   r&   r'   r3   r3   L  s`   IMK ((L**K$$H))J##GK
 $('+%)*.,09 C=9  }	9
 c]9 #3-9 %SM98	U Z8yE  WH  EI  :I  0J Z8  mv  wL  NS  `N  NO  wO  mP Z8  hq  rz  {D  rE  GL  YU  GV  rV  hW Z8  t}  ~F  GP  ~Q  SX  e\  S]  ~]  t^ Z8  t Z8 Z8x S8)Iu  ZK  HL  =L  3M S8  cl S8  DM  NV  W`  Na  ch  uq  cr  Nr  Ds S8  PY  Zb  cl  Zm  ot  Ax	  oy	  Zy	  Pz	 S8  P
[
 S8 S8h S89e  YJ  GK  <K  2L S8  bk S8  CL  MU  V_  M`  bg  tp  bq  Mq  Cr S8  OX  Ya  bk  Yl  ns  @w	  nx	  Yx	  Oy	 S8  O
Z
 S8 S8h S89Y  [L  IM  >M  4N S8  bk S8  CL  MU  V_  M`  bg  tp  bq  Mq  Cr S8  OX  Ya  bk  Yl  ns  @w	  nx	  Yx	  Oy	 S8  O
Z
 S8 S8h S8Yy%  ]N  KO  @O  6P S8  ir S8  JS  T\  ]f  Tg  in  {w  ix  Tx  Jy S8  V_  `h  ir  `s  uz  G~	  u	  `	  V@
 S8  V
a
 S8 S8h l8	)U  `Q  NR  CR  9S l8  ir l8  BK  LU  W\  i  W@  L@  BA l8  U^  _h  jo  |Q  jR  _R  US l8  kt  u}  ~G  uH  JO  \X  JY  uY  kZ l8  w@  AI  JS  AT  V[  h_  V`  A`  wa l8  qy  zC  qD l8  Ze l8 l8\ \8yE  _P  MQ  BQ  8R \8  fo  py  {@  Mz  {{  p{  f| \8  T]  ^f  gp  ^q  sx  EA  sB  ^B  TC \8  `i  jr  s|  j}  D  QH  I  jI  `J \8  qz  {C  D\  {]  _d  q]  _^  {^  q_ \8  u@ \8 \8z T89e  YJ  GK  <K  2L T8  dm  nv  w@  nA  CH  UQ  CR  nR  dS T8  py  zB  CL  zM  OT  aX	  OY	  zY	  pZ	 T8  z	C
  D
L
  M
_
  D
`
  b
g
  t
B  b
C  D
C  z	D T8  Ze T8 T8j M8	)U  XI  FJ  ;J  1K M8  _h  ir  ty  Fs  tt  it  _u M8  MV  W_  `i  Wj  lq  ~z  l{  W{  M| M8  Yb  ck  lu  cv  x}  JA  xB  cB  YC M8  Yd M8 M8\ Z89Y  [L  IM  >M  4N Z8  cl  mv  x}  Jy  xz  mz  c{ Z8  S\  ]e  fo  ]p  rw  D@  rA  ]A  SB Z8  _h  iq  r{  i|  ~C  PG  ~H  iH  _I Z8  nw  x@  AX  xY  [`  mN  [O  xO  nP Z8  fq Z8 Z8v Z89e  aR  OS  DS  :T Z8  ir  s|  ~C  P  ~@  s@  iA Z8  Yb  ck  lu  cv  x}  JF  xG  cG  YH Z8  en  ow  xA  oB  DI  VM  DN  oN  eO Z8  xA  BJ  Ke  Bf  hm  z_  h`  B`  xa Z8  wB Z8 Z8v T8	)U  XI  FJ  ;J  1K T8  cl  mu  v  m@  BG  TP  BQ  mQ  cR T8  ox  yA  BK  yL  NS  `W	  NX	  yX	  oY	 T8  z	C
  D
L
  M
`
  D
a
  c
h
  u
R  c
S  D
S  z	T T8  ju T8 T8j R8i	5  ^O  LP  AP  7Q R8  en  ox  z  Lo  zp  op  eq R8  FO  PY  [`  m\  []  P]  F^ R8  v  @H  IR  @S  UZ  gc	  Ud	  @d	  ve	 R8  B
K
  L
T
  U
^
  L
_
  a
f
  s
j  a
k  L
k  B
l R8  BM R8 R8f M8yE  WH  EI  :I  0J M8  _h  ir  ty  Fu  tv  iv  _w M8  OX  Ya  bk  Yl  ns  @|  n}  Y}  O~ M8  [d  em  nw  ex  z  LC  zD  eD  [E M8  [f M8 M8\ M89Y  [L  IM  >M  4N M8  cl  mv  x}  Jy  xz  mz  c{ M8  S\  ]e  fo  ]p  rw  D@  rA  ]A  SB M8  _h  iq  r{  i|  ~C  PG  ~H  iH  _I M8  _j M8 M8\ S8)IW\  j[  X\  M\  C] S8  ox  y~  J  LU  U  yV  X]  jP  XQ  yQ  oR S8  gp  qz  |A  Nr  |s  qs  gt S8  LU  V^  _h  Vi  kp  }y
  kz
  Vz
  L{
 S8  Xa  bj  kt  bu  w|  I@  wA  bA  XB S8  Xc S8 S8h M89e  YJ  GK  <K  2L M8  aj  kt  v{  Hw  vx  kx  ay M8  QZ  [c  dm  [n  pu  B~  p  [  Q@ M8  ]f  go  py  gz  |A  NE  |F  gF  ]G M8  ]h M8 M8\ V8Yy%  UF  CG  8G  .H V8  `i  jr  s|  j}  D  QM  N  jN  `O V8  lu  v~  H  vI  KP  ]T	  KU	  vU	  lV	 V8  x	A
  B
J
  K
^
  B
_
  a
f
  s
e  a
f  B
f  x	g V8  }H V8 V8n Z8	)U  XI  FJ  ;J  1K Z8  `i  js  uz  Gv  uw  jw  `x Z8  PY  Zb  cl  Zm  ot  A}  o~  Z~  P Z8  \e  fn  ox  fy  {@  MD  {E  fE  \F Z8  gp  qy  zM  qN  PU  b  P@  q@  gA Z8  Wb Z8 Z8v f8Ii  \M  JN  ?N  5O f8  dm  nw  y~  Kz  y{  n{  d| f8  T]  ^f  gp  ^q  sx  EA  sB  ^B  TC f8  `i  jr  s|  j}  D  QH  I  jI  `J f8  ^g  hp  qz  h{  }B  Ow  }x  hx  ^y f8  NW  X`  aj  Xk  mr  m  mn  Xn  No f8  H  IQ  RW  Xc  en  pu  v  AL  vL  pM  XM  RN  IO  QV  cj  Qk  Ik  l f8  BM f8 f8P [8IiQV  dU  RV  GV  =W [8  IR  Su  w|  IU  wV  SV  IW [8  ox  yA  BK  yL  NS  `\  N]  y]  o^ [8  {D	  E	M	  N	W	  E	X	  Z	_	  l	c  Z	d  E	d  {e [8  {F [8 [8x Z8yE  _P  MQ  BQ  8R Z8  ~G  He  gl  yw  gx  Hx  ~y Z8  QZ  [c  dm  [n  pu  B~  p  [  Q@ Z8  ]f  go  py  gz  |A	  N	E  |F  gF  ]G Z8  ]h Z8 Z8v [89e  aR  OS  DS  :T [8  BK  Lk  mr  G  mH  LH  BI [8  aj  ks  t}  k~  @E  RN  @O  kO  aP [8  mv  w  @	I	  wJ	  L	Q	  ^	U  L	V  wV  mW [8  mx [8 [8x [8yTY  gX  UY  JY  @Z [8  OX  Y~  @E  RY  @Z  YZ  O[ [8  s|  }E  FO  }P  RW  d`  Ra  }a  sb [8  H	  I	Q	  R	[	  I	\	  ^	c	  p	g  ^	h  I	h  i [8  J [8 [8z Z8Ii  TE  BF  7F  -G Z8  gp  qC  EJ  WD  EE  qE  gF Z8  ^g  hp  qz  h{  }B  OK  }L  hL  ^M Z8  js  t|  }F  tG  IN  [R  IS  tS  jT Z8  ju Z8 Z8v S89Y  SD  AE  6E  ,F S8  Zc  dm  ot  A}  o~  d~  Z S8  W`  ai  js  at  v{  HD  vE  aE  WF S8  cl  mu  v  m@  BG  TK  BL  mL  cM S8  cn S8 S8j Z8Ii  TE  BF  7F  -G Z8  gp  qC  EJ  WD  EE  qE  gF Z8  ^g  hp  qz  h{  }B  OK  }L  hL  ^M Z8  js  t|  }F  tG  IN  [R  IS  tS  jT Z8  ju Z8 Z8v S89Y  SD  AE  6E  ,F S8  Zc  dm  ot  An  oo  do  Zp S8  HQ  RZ  [d  Re  gl  yu  gv  Rv  Hw S8  T]  ^f  gp  ^q  sx  E|
  s}
  ^}
  T~
 S8  T_ S8 S8h S8yE  _P  MQ  BQ  8R S8  fo  py  {@  Mz  {{  p{  f| S8  T]  ^f  gp  ^q  sx  EA  sB  ^B  TC S8  `i  jr  s|  j}  D  QH  I  jI  `J S8  `k S8 S8h `8yE  WH  EI  :I  0J `8  ^g  hq  sx  Er  ss  hs  ^t `8  W`  av  x}  Jz  x{  a{  W| `8  T]  ^f  gp  ^q  sx  EA	  sB	  ^B	  TC	 `8  `	i	  j	r	  s	|	  j	}	  	D
  Q
H  	I  j	I  `	J `8  `k `8 `8B `8	)U  `Q  NR  CR  9S `8  gp  qz  |A  N{  ||  q|  g} `8  fo  pJ  LQ  ^U  LV  pV  fW `8  ox  yA  BK  yL  NS  `\	  N]	  y]	  o^	 `8  {	D
  E
M
  N
W
  E
X
  Z
_
  l
c  Z
d  E
d  {	e `8  {F `8 `8D `89Y  SD  AE  6E  ,F `8  en  o@  BG  Ty  Bz  oz  e{ `8  S\  ]e  fo  ]p  rw  DV  rW  ]W  SX `8  py  zB  CL  zM  OT  a]  O^  z^  p_ `8  |E	  F	N	  O	X	  F	Y	  [	`	  m	d  [	e  F	e  |f `8  xA  BJ  KT  BU  W\  i{  W|  B|  x} `8  S^ `8 `8D S89Y  SD  AE  6E  ,F S8  Yb  cl  ns  @}  n~  c~  Y S8  W`  ai  js  at  v{  HD  vE  aE  WF S8  cl  mu  v  m@  BG  TK  BL  mL  cM S8  cn S8 S8h Z89Y  SD  AE  6E  ,F Z8  en  o@  BG  Tz  B{  o{  e| Z8  T]  ^f  gp  ^q  sx  EA  sB  ^B  TC Z8  `i  jr  s|  j}  D  QH  I  jI  `J Z8  `k Z8 Z8v T8)Iu  RC  @D  5D  +E T8  Xa  bk  mr  |  m}  b}  X~ T8  V_  `h  ir  `s  uz  GC  uD  `D  VE T8  bk  lt  u~  l  AF  SJ  AK  lK  bL T8  bm T8 T8j Y8	)U  XI  FJ  ;J  1K Y8  ^g  hq  sx  EB  sC  hC  ^D Y8  \e  fn  ox  fy  {@  MI  {J  fJ  \K Y8  hq  rz  {D  rE  GL  YP  GQ  rQ  hR Y8  dm  nv  w@  nA  CH  Uu  Cv  nv  dw Y8  MX Y8 Y8v a8yE  WH  EI  :I  0J a8  ^g  hq  sx  Er  ss  hs  ^t a8  W`  av  x}  Js  xt  at  Wu a8  MV  W_  `i  Wj  lq  ~z  l{  W{  M| a8  Y	b	  c	k	  l	u	  c	v	  x	}	  J
A  x	B  c	B  Y	C a8  Yd a8 a8D a89e  aR  OS  DS  :T a8  mv  w@  BG  T}  B~  w~  m a8  mv  wV  X]  j`  Xa  wa  mb a8  zC  DL  MV  DW  Y^  kg
  Yh
  Dh
  zi
 a8  FO  PX  Yb  Pc  ej  wn  eo  Po  Fp a8  FQ a8 a8D Z8)Iu  ZK  HL  =L  3M Z8  aj  kt  v{  Hu  vv  kv  aw Z8  PY  Zc  ej  w`  ea  Za  Pb Z8  zC  DL  MV  DW  Y^  kg  Yh  Dh  zi Z8  F	O	  P	X	  Y	b	  P	c	  e	j	  w	n  e	o  P	o  F	p Z8  FQ Z8 Z8v T89Y  [L  IM  >M  4N T8  bk  lu  w|  Iv  ww  lw  bx T8  PY  Zb  cl  Zm  ot  A}  o~  Z~  P T8  \e  fn  ox  fy  {@  MD  {E  fE  \F T8  \g T8 T8j [89e  QB  ?C  4C  *D [8  aj  kz  |A  N[  |\  k\  a] [8  u~  G  HQ  R  TY  fb  Tc  c  ud [8  AJ  KS  T]  K^  `e  ri  `j  Kj  Ak [8  AL [8 [8z a8)Iu  ZK  HL  =L  3M a8  aj  kt  v{  Hu  vv  kv  aw a8  ^g  h@  BG  Tt  Bu  hu  ^v a8  NW  X`  aj  Xk  mr  {  m|  X|  N} a8  Z	c	  d	l	  m	v	  d	w	  y	~	  K
B  y	C  d	C  Z	D a8  Ze a8 a8D Z89e  YJ  GK  <K  2L Z8  `i  js  uz  Gt  uu  ju  `v Z8  KT  U^  `e  r^  `_  U_  K` Z8  xA  BJ  KT  BU  W\  ie  Wf  Bf  xg Z8  D	M	  N	V	  W	`	  N	a	  c	h	  u	l  c	m  N	m  D	n Z8  DO Z8 Z8v S8)Iu  ZK  HL  =L  3M S8  aj  kt  v{  Hu  vv  kv  aw S8  OX  Ya  bk  Yl  ns  @|  n}  Y}  O~ S8  [d  em  nw  ex  z  LC  zD  eD  [E S8  [f S8 S8j `89e  YJ  GK  <K  2L `8  qz  {R  TY  fK  TL  {L  qM `8  en  ow  xA  oB  DI  Vh  Di  oi  ej `8  BK  LT  U^  L_  af  so  ap  Lp  Bq `8  N	W	  X	`	  a	j	  X	k	  m	r	  	v  m	w  X	w  N	x `8  JS  T\  ]f  Tg  in  {M  iN  TN  JO `8  ep `8 `8B `8Yy%  ]N  KO  @O  6P `8  zC  D_  af  sc  ad  Dd  ze `8  }F  GO  PY  GZ  \a  n@  \A  GA  }B `8  Zc  dl  mv  dw  y~  KG	  yH	  dH	  ZI	 `8  f	o	  p	x	  y	B
  p	C
  E
J
  W
N  E
O  p	O  f	P `8  bk  lt  u~  l  AF  Se  Af  lf  bg `8  }H `8 `8D W8	)U  XI  FJ  ;J  1K W8  cl  mu  v  m@  BG  TP  BQ  mQ  cR W8  ox  yA  BK  yL  NS  `W	  NX	  yX	  oY	 W8  I
R
  S
[
  \
|
  S
}
  
D  Qx  
y  S
y  I
z W8  P[ W8 W8p T8Yy%  ]N  KO  @O  6P T8  dm  nw  y~  Kx  yy  ny  dz T8  R[  \d  en  \o  qv  C  q@  \@  RA T8  ^g  hp  qz  h{  }B  OF  }G  hG  ^H T8  ^i T8 T8l Q8	)U  XI  FJ  ;J  1K Q8  dm  nw  y~  KO  yP  nP  dQ Q8  ir  s{  |E  sF  HM  ZV  HW  sW  iX Q8  u~  G  HQ  R  TY  f]  T^  ^  u_ Q8  u@ Q8 Q8d X8	)U  XI  FJ  ;J  1K X8  gp  q@  BG  Tu  Bv  qv  gw X8  OX  Ya  bk  Yl  ns  @|  n}  Y}  O~ X8  [d  em  nw  ex  z  LC  zD  eD  [E X8  [f X8 X8t Y8	)U  XI  FJ  ;J  1K Y8  zC  Dd  fk  xh  fi  Di  zj Y8  BK  LT  U^  L_  af  so  ap  Lp  Bq Y8  NW  X`  aj  Xk  mr  v  mw  Xw  Nx Y8  NY Y8 Y8t Y8Yy%  UF  CG  8G  .H Y8  gp  qB  DI  Vv  Dw  qw  gx Y8  PY  Zb  cl  Zm  ot  A}  o~  Z~  P Y8  \e  fn  ox  fy  {@  MD  {E  fE  \F Y8  \g Y8 Y8t _8yE  WH  EI  :I  0J _8  en  ox  z  LR  zS  oS  eT _8  BK  Lk  mr  n  mo  Lo  Bp _8  HQ  RZ  [d  Re  gl  yu	  gv	  Rv	  Hw	 _8  T
]
  ^
f
  g
p
  ^
q
  s
x
  E|  s
}  ^
}  T
~ _8  T_ _8 _8@ Y8Yy%  ]N  KO  @O  6P Y8  w@  AZ  \a  nV  \W  AW  wX Y8  py  zB  CL  zM  OT  a]  O^  z^  p_ Y8  |E  FN  OX  FY  [`  md  [e  Fe  |f Y8  |G Y8 Y8t Q8Ii  TE  BF  7F  -G Q8  Zc  dm  ot  A  o@  d@  ZA Q8  Yb  ck  lu  cv  x}  JF  xG  cG  YH Q8  en  ow  xA  oB  DI  VM  DN  oN  eO Q8  ep Q8 Q8d Q8Ii  \M  JN  ?N  5O Q8  js  t}  D  QW  X  tX  jY Q8  qz  {C  DM  {N  PU  b^  P_  {_  q` Q8  }F  GO  PY  GZ  \a  ne  \f  Gf  }g Q8  }H Q8 Q8d W89YPU  cT  QU  FU  <V W8  qz  {D  FK  X^  F_  {_  q` W8  v  @I  KP  ]Y  KZ  @Z  v[ W8  s|  }E  FO  }P  RW  d`	  Ra	  }a	  sb	 W8  	H
  I
Q
  R
[
  I
\
  ^
c
  p
g  ^
h  I
h  	i W8  J W8 W8p R8IiQV  dU  RV  GV  =W R8  r{  |E  GL  Y_  G`  |`  ra R8  yB  CK  LU  CV  X]  jf  Xg  Cg  yh R8  EN  OW  Xa  Ob  di  vm  dn  On  Eo R8  EP R8 R8f W8)Iu  bS  PT  ET  ;U W8  py  zC  EJ  W]  E^  z^  p_ W8  t}  ~G  IN  [\  I]  ~]  t^ W8  v  @H  IR  @S  UZ  gc	  Ud	  @d	  ve	 W8  B
K
  L
T
  U
^
  L
_
  a
f
  s
j  a
k  L
k  B
l W8  BM W8 W8p _8Yy%  ]N  KO  @O  6P _8  kt  u~  @E  RX  @Y  uY  kZ _8  AJ  Kd  fk  x`  fa  Ka  Ab _8  zC  DL  MV  DW  Y^  kg	  Yh	  Dh	  zi	 _8  F
O
  P
X
  Y
b
  P
c
  e
j
  w
n  e
o  P
o  F
p _8  FQ _8 _8@ d8IiQV  dU  RV  GV  =W d8  r{  |E  GL  Y_  G`  |`  ra d8  w@  AJ  LQ  ^Z  L[  A[  w\ d8  KT  Uu  w|  Iy  wz  Uz  K{ d8  S	\	  ]	e	  f	o	  ]	p	  r	w	  D
@  r	A  ]	A  S	B d8  _h  iq  r{  i|  ~C  PG  ~H  iH  _I d8  _j d8 d8J k89e  aR  OS  DS  :T k8  js  t}  D  QM  N  tN  jO k8  _h  in  oz  |E  GL  MV  Xc  Mc  Gd  od  ie  gl  yA  gB  iB  _C k8  Zc  dm  ot  A	{	  o|	  d|	  Z}	 k8  O
X
  Y
b
  d
i
  v
r  d
s  Y
s  O
t k8  LU  V^  _h  Vi  kp  }y  kz  Vz  L{ k8  Xa  bj  kt  bu  w|  I@  wA  bA  XB k8  Xc k8 k8X Y8i	5  ^O  LP  AP  7Q Y8  }F  Ge  gl  y  g@  G@  }A Y8  Yb  ck  lu  cv  x}  JF  xG  cG  YH Y8  en  ow  xA	  oB	  D	I	  V	M  D	N  oN  eO Y8  ep Y8 Y8v Z89e  aR  OS  DS  :T Z8  kt  u~  @E  R\  @]  u]  k^ Z8  w@  AJ  LQ  ^K  LL  AL  wM Z8  en  ow  xA  oB  DI  VR	  DS	  oS	  eT	 Z8  q	z	  {	C
  D
M
  {	N
  P
U
  b
Y  P
Z  {	Z  q	[ Z8  q| Z8 Z8v Z8	)U  `Q  NR  CR  9S Z8  js  t}  D  Q[  \  t\  j] Z8  v  @I  KP  ]b  Kc  @c  vd Z8  |E  FN  OX  FY  [`  mi	  [j	  Fj	  |k	 Z8  H
Q
  R
Z
  [
d
  R
e
  g
l
  y
p  g
q  R
q  H
r Z8  HS Z8 Z8v Y89e  aR  OS  DS  :T Y8  kt  u~  @E  R\  @]  u]  k^ Y8  yB  CL  NS  `K  NL  CL  yM Y8  en  ow  xA  oB  DI  VR	  DS	  oS	  eT	 Y8  q	z	  {	C
  D
M
  {	N
  P
U
  b
Y  P
Z  {	Z  q	[ Y8  q| Y8 Y8t Z89YX]  k\  Y]  N]  D^ Z8  u~  H  JO  \f  Jg  g  uh Z8  AJ  KT  V[  hr  Vs  Ks  At Z8  LU  V^  _h  Vi  kp  }y	  kz	  Vz	  L{	 Z8  X
a
  b
j
  k
t
  b
u
  w
|
  I@  w
A  b
A  X
B Z8  Xc Z8 Z8x Z8Ii  \M  JN  ?N  5O Z8  gp  qy  zC  qD  FK  XT  FU  qU  gV Z8  s|  }E  FO  }P  RW  d[	  R\	  }\	  s]	 Z8  C
K
  L
c
  C
d
 Z8  z
E Z8 Z8v Y89e  YJ  GK  <K  2L Y8  ^g  hq  sx  E`  sa  ha  ^b Y8  |E  FO  QV  cl  Qm  Fm  |n Y8  FO  PX  Yb  Pc  ej  ws  et  Pt  Fu Y8  R	[	  \	d	  e	n	  \	o	  q	v	  C
z  q	{  \	{  R	| Y8  R] Y8 Y8v Z89e  YJ  GK  <K  2L Z8  ox  yN  PU  bL  PM  yM  oN Z8  fo  px  yB  pC  EJ  WS  ET  pT  fU Z8  r{  |D  EN  |O  QV  cZ  Q[  |[  r\ Z8  r} Z8 Z8v Z8IiQV  dU  RV  GV  =W Z8  FO  Pp  rw  Ds  rt  Pt  Fu Z8  MV  W_  `i  Wj  lq  ~z  l{  W{  M| Z8  Yb  ck  lu  cv  x}  J	A  xB  cB  YC Z8  Yd Z8 Z8v Z89Y  [L  IM  >M  4N Z8  t}  ~U  W\  iM  WN  ~N  tO Z8  gp  qy  zC  qD  FK  XT  FU  qU  gV Z8  s|  }E  FO  }P  RW  d[  R\  }\  s] Z8  s~ Z8 Z8v S8	)U  XI  FJ  ;J  1K S8  hq  r{  }B  OK  }L  rL  hM S8  en  ow  xA  oB  DI  VR  DS  oS  eT S8  qz  {C  DM  {N  PU  bY  PZ  {Z  q[ S8  q| S8 S8h Y8yE  _P  MQ  BQ  8R Y8  ox  yB  DI  VC  DD  yD  oE Y8  _h  ir  ty  FM  tN  iN  _O Y8  gp  qy  zC	  qD	  F	K	  X	T  F	U  qU  gV Y8  s|  }E  FO  }P  RW  d[  R\  }\  s] Y8  s~ Y8 Y8t Y89YPU  cT  QU  FU  <V Y8  r{  |E  GL  Yz  G{  |{  r| Y8  V_  `i  kp  }B  kC  `C  VD Y8  \e  fn  ox  fy  {@	  M	I  {J  fJ  \K Y8  hq  rz  {D  rE  GL  YP  GQ  rQ  hR Y8  hs Y8 Y8t Y89YPU  cT  QU  FU  <V Y8  en  ox  z  Le  zf  of  eg Y8  AJ  KT  V[  ht  Vu  Ku  Av Y8  NW  X`  aj  Xk  mr  {  m|  X|  N} Y8  Z	c	  d	l	  m	v	  d	w	  y	~	  K
B  y	C  d	C  Z	D Y8  Ze Y8 Y8t Z8Yy%  ]N  KO  @O  6P Z8  xA  B[  ]b  oU  ]V  BV  xW Z8  ox  yA  BK  yL  NS  `\  N]  y]  o^ Z8  {D  EM  NW  EX  Z_  lc  Zd  Ed  {e Z8  {F Z8 Z8v `8Ii  \M  JN  ?N  5O `8  ir  s|  ~C  P\  ~]  s]  i^ `8  EN  Og  in  {`  ia  Oa  Eb `8  zC  DL  MV  DW  Y^  kg	  Yh	  Dh	  zi	 `8  F
O
  P
X
  Y
b
  P
c
  e
j
  w
n  e
o  P
o  F
p `8  FQ `8 `8B `89e  YJ  GK  <K  2L `8  fo  py  {@  MY  {Z  pZ  f[ `8  ~G  H]  _d  q\  _]  H]  ~^ `8  v  @H  IR  @S  UZ  gc	  Ud	  @d	  ve	 `8  B
K
  L
T
  U
^
  L
_
  a
f
  s
j  a
k  L
k  B
l `8  BM `8 `8B `8yE  _P  MQ  BQ  8R `8  lu  v  AF  S_  A`  v`  la `8  KT  Up  rw  Dv  rw  Uw  Kx `8  PY  Zb  cl  Zm  ot  A}	  o~	  Z~	  P	 `8  \
e
  f
n
  o
x
  f
y
  {
@  MD  {
E  f
E  \
F `8  \g `8 `8B `8Yy%  ]N  KO  @O  6P `8  js  t}  D  Q]  ^  t^  j_ `8  H  I[  ]b  od  ]e  Ie  f `8  ~G  HP  QZ  H[  ]b  ok	  ]l	  Hl	  ~m	 `8  J
S
  T
\
  ]
f
  T
g
  i
n
  {
r  i
s  T
s  J
t `8  JU `8 `8r&   r3   c            	          e Zd ZdZeeeeefZ	eeeeee
j                  e
j                  edZdZ	 	 d!dZd Zd Zd Zed        Zed	        Zej.                  d
        Zd ZdZed        Zed        Z	 	 	 	 	 	 d"dZd Zd Zd Z 	 	 	 	 	 	 d#dZ!	 	 	 d$dZ"d Z#d Z$d%dZ%d Z&d Z'	 d%dZ(d Z)d Z*d Z+d Z,d Z-d Z.d  Z/y)&r   a  Generic API client for OpenAPI client library builds.

    OpenAPI generic API client. This client handles the client-
    server communication, and is invariant across implementations. Specifics of
    the methods and models for each application are generated from the OpenAPI
    templates.

    :param configuration: .Configuration object for this client
    :param header_name: a header to pass when making calls to the API.
    :param header_value: a header value to pass when making calls to
        the API.
    :param cookie: a cookie to include in the header when making calls
        to the API
    :param pool_threads: The number of threads to use for async requests
        to the API. More threads means more concurrent API requests.
    )intlongfloatrH   booldatedatetimer.   Nc                     |t        j                         }|| _        || _        t	        j
                  |      | _        i | _        ||| j                  |<   || _        d| _	        |j                  | _
        y )NzOpenAPI-Generator/5.0.5/python)r   r   r   pool_threadsr   RESTClientObjectrest_clientdefault_headerscookie
user_agentclient_side_validation)r/   r   header_nameheader_valuer!  r  s         r'   r1   zApiClient.__init__2  su      )557M*(00?!"0<D  -:&3&J&J#r&   c                     | S r+   r%   r/   s    r'   	__enter__zApiClient.__enter__2  s    r&   c                 $    | j                          y r+   )close)r/   exc_type	exc_value	tracebacks       r'   __exit__zApiClient.__exit__2  s    

r&   c                     | j                   rl| j                   j                          | j                   j                          d | _         t        t        d      r t	        j
                  | j                         y y y )N
unregister)_poolr*  joinhasattratexitr0  r'  s    r'   r*  zApiClient.close2  sT    ::JJJJOODJv|,!!$**- -	 r&   c                     | j                   9t        j                  | j                         t	        | j
                        | _         | j                   S )zrCreate thread pool on first request
         avoids instantiating unused threadpool for blocking clients.
        )r1  r4  registerr*  r   r  r'  s    r'   poolzApiClient.pool2  s:    
 ::OODJJ'#D$5$56DJzzr&   c                      | j                   d   S )zUser agent for this API client
User-Agentr   r'  s    r'   r"  zApiClient.user_agent2  s     ##L11r&   c                 "    || j                   d<   y )Nr9  r:  r/   values     r'   r"  zApiClient.user_agent2  s    -2\*r&   c                 "    || j                   |<   y r+   r:  )r/   r$  r%  s      r'   set_default_headerzApiClient.set_default_header2  s    ,8[)r&   c                 P    | j                   t               | _         | j                   S )zReturn new instance of ApiClient.

        This method returns newly created, based on default constructor,
        object of ApiClient class or returns a copy of default
        ApiClient.

        :return: The ApiClient object.
        )_defaultr   )clss    r'   r   zApiClient.get_default2  s!     <<$;CL||r&   c                     || _         y)zSet default instance of ApiClient.

        It stores default ApiClient.

        :param default: object of ApiClient.
        N)rA  )rB  defaults     r'   set_defaultzApiClient.set_default	3  s     r&   c           
         | j                   }|xs i }|j                  | j                         | j                  r| j                  |d<   |r,| j	                  |      }t        | j                  ||            }|r`| j	                  |      }| j                  ||      }|D ]8  \  }}|j                  d|z  t        t        |      |j                              }: |s|rI|r|ng }| j	                  |      }| j                  ||      }|j                  | j                  |             | j                  |||
||||       |r| j	                  |      }|| j                   j                  |z   }n||z   }|r+| j	                  |      }| j                  ||      }|d|z   z  }	 | j!                  ||||||||      }|| _        d }|s|r|	j+                  t        |j,                        d       }|dk(  r|j.                  |_        n`d }|j1                  d	      }|t3        j4                  d
|      }|r|j7                  d      nd}|j.                  j'                  |      |_        |dk(  r|j.                  }n|r| j9                  ||      }nd }|r|S t;        |j,                  ||j=                         |j.                        S # t"        $ r3}|j$                  r |j$                  j'                  d      |_        |d }~ww xY w)NCookiez{%s})safe)request_auth?)query_paramsheadersr   r   rd   re   r<   	bytearrayzcontent-typezcharset=([a-zA-Z\-\d]+)[\s;]?r   )status_codedatarL  raw_data)r   updater   r!  sanitize_for_serializationr   parameters_to_tuplesreplacer   rH   safe_chars_for_path_paramr   files_parametersupdate_params_for_authr_   parameters_to_url_queryrequestr   r   decodelast_responser   rB  rO  	getheaderresearchgroupdeserializer   
getheaders)r/   resource_pathmethodpath_paramsrK  header_paramsr   r   r   r   r   rc   r   rd   re   _hostrf   configkvurl	url_queryresponse_dataereturn_dataresponse_typematchr2  r?   s                                r'   
__call_apizApiClient.__call_api3  s.    ## &+T112;;&*kkM(# ;;MJM !:!:=;M"O PM 99+FK33K4FHK# 1 - 5 5QJ#a&v'G'GH! %)4+"K99+FK33K4FHKt44U;< 	##<64& 	$ 	( 2248D =$$))M9C -'C ::<HL44\5GII3?"C	 LL)%'d!1!1 ) 3M +5,00]5I5I1JDQ-k)#0#5#5m e*44^Dl)))$DlS%+0Qgh#0#5#5#<#<X#Fm  k))..k ,,]MJk k!]-A-A"-%2%=%=%?&3&8&8: :C  	vvw/G	s    K   	K<	.K77K<c                     |yt        | j                        r|S t        |t              r|D cg c]  } j                  |       c}S t        |t              rt	         fd|D              S t        |t
        j                  t
        j                  f      r|j                         S t        |t              r|}n|j                         }|j                         D ci c]  \  }}| j                  |       c}}S c c}w c c}}w )a  Builds a JSON POST object.

        If obj is None, return None.
        If obj is str, int, long, float, bool, return directly.
        If obj is datetime.datetime, datetime.date
            convert to string in iso8601 format.
        If obj is list, sanitize each element in the list.
        If obj is dict, return the dict.
        If obj is OpenAPI model, return the properties dict.

        :param obj: The data to serialize.
        :return: The serialized form of data.
        Nc              3   @   K   | ]  }j                  |        y wr+   )rR  ).0sub_objr/   s     r'   	<genexpr>z7ApiClient.sanitize_for_serialization.<locals>.<genexpr>3  s$      -$ 88A -s   )
isinstancePRIMITIVE_TYPESlistrR  tupledtr  r  	isoformatr   to_dictr   )r/   objru  obj_dictkeyvals   `     r'   rR  z$ApiClient.sanitize_for_serialization3  s     ;T112JT"#&( 33G< ( (U# -(+- - -bkk27734==?"c4 H {{}H !) 02C T44S99 2 	2%($2s   D  Dc                     |dk(  r| j                  |      S 	 t        j                  |j                        }| j                  ||      S # t        $ r |j                  }Y )w xY w)a  Deserializes response into an object.

        :param response: RESTResponse object to be deserialized.
        :param response_type: class literal for
            deserialized object, or string of class name.

        :return: deserialized object.
        r   )_ApiClient__deserialize_filerI   rJ   rO  
ValueError_ApiClient__deserialize)r/   responsero  rO  s       r'   r`  zApiClient.deserialize3  sc     F"**844	!::hmm,D !!$66  	!==D	!s   A	 	A! A!c           	      Z   |yt        |      t        k(  r|j                  d      rEt        j                  d|      j                  d      }|D cg c]  }| j                  ||       c}S |j                  d      rYt        j                  d|      j                  d      }|j                         D ci c]  \  }}|| j                  ||       c}}S || j                  v r| j                  |   }nt        t        j                  |      }|| j                  v r| j                  ||      S |t        k(  r| j                  |      S |t         j"                  k(  r| j%                  |      S |t         j&                  k(  r| j)                  |      S | j+                  ||      S c c}w c c}}w )zDeserializes dict, list, str into an object.

        :param data: dict, list or str.
        :param klass: class literal, or string of class name.

        :return: object.
        NzList[zList\[(.*)]r   zDict[zDict\[([^,]*), (.*)]r   )r,   rH   
startswithr]  rp  r_  r  r   NATIVE_TYPES_MAPPINGgetattrcashfree_pgmodelsrx  !_ApiClient__deserialize_primitiver.   _ApiClient__deserialize_objectr{  r  _ApiClient__deserialize_dater   _ApiClient__deserialize_datetime_ApiClient__deserialize_model)r/   rO  klasssub_klssub_datarh  ri  s          r'   __deserializezApiClient.__deserialize3  s    <;#(((>59??B(,.$ **8W= . . (((#:EBHHK$(JJL2 Aq 4--a99 2 2 11111%8 2 2E:D(((//e<<f_,,T22bgg**400bkk!..t44++D%88/.
2s   F"5F'c                     |s | j                  |||||||||	|
||||||      S | j                  j                  | j                   |||||||||	|
||||||f      S )a  Makes the HTTP request (synchronous) and returns deserialized data.

        To make an async_req request, set the async_req parameter.

        :param resource_path: Path to method endpoint.
        :param method: Method to call.
        :param path_params: Path parameters in the url.
        :param query_params: Query parameters in the url.
        :param header_params: Header parameters to be
            placed in the request header.
        :param body: Request body.
        :param post_params dict: Request post form parameters,
            for `application/x-www-form-urlencoded`, `multipart/form-data`.
        :param auth_settings list: Auth Settings names for the request.
        :param response: Response data type.
        :param files dict: key -> filename, value -> filepath,
            for `multipart/form-data`.
        :param async_req bool: execute request asynchronously
        :param _return_http_data_only: response data instead of ApiResponse
                                       object with status code, headers, etc
        :param _preload_content: if False, the ApiResponse.data will
                                 be set to none and raw_data will store the
                                 HTTP response body without reading/decoding.
                                 Default is True.
        :param collection_formats: dict of collection formats for path, query,
            header, and post parameters.
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the authentication
                              in the spec for a single request.
        :type _request_token: dict, optional
        :return:
            If async_req parameter is True,
            the request will be called asynchronously.
            The method will return the request thread.
            If parameter async_req is False or missing,
            then the method will return the response directly.
        )_ApiClient__call_apir7  apply_async)r/   rb  rc  rd  rK  re  r   r   r   r   r   rb   rc   r   rd   re   rf  rf   s                     r'   r   zApiClient.call_api3  s    ` ??=&#.m#'e#5}#9;M#35Eu#02 2 yy$$T__}7={7C7Dd7BE7I7D7M7I7G7G7<m7M N 	Nr&   c	           	      ,   |dk(  r | j                   j                  |||||      S |dk(  r | j                   j                  |||||      S |dk(  r | j                   j                  |||||      S |dk(  r"| j                   j	                  |||||||      S |dk(  r"| j                   j                  |||||||      S |d	k(  r"| j                   j                  |||||||      S |d
k(  r!| j                   j                  ||||||      S t        d      )z(Makes the HTTP request using RESTClient.r   )rK  rd   re   rL  HEADOPTIONS)rK  rL  rd   re   r   )rK  rL  r   rd   re   r   r   r  r  )rK  rL  rd   re   r   zQhttp method must be `GET`, `HEAD`, `OPTIONS`, `POST`, `PATCH`, `PUT` or `DELETE`.)	r  get_requesthead_requestoptions_requestpost_requestput_requestpatch_requestdelete_requestr   )	r/   rc  rj  rK  rL  r   r   rd   re   s	            r'   rY  zApiClient.request-4  s    U?##//5A9I9I07	 0 9 9
 v##006B:J:J18	 1 : :
 y ##33C9E4;=M=M	 4 O O
 v##006B185@:J:J.2 1 4 4 u_##//5A074?9I9I-1 0 3 3 w##11#7C296A;K;K/3 2 5 5 x##2238D3:<L<L04 3 6 6  7 r&   c                 h   g }|i }t        |t              r|j                         n|D ]  \  }|v ri|   }|dk(  r|j                  fd|D               /|dk(  rd}n|dk(  rd}n
|dk(  rd}nd	}|j	                  |j                  d
 |D              f       s|j	                  |f        |S )a  Get parameters as list of tuples, formatting collections.

        :param params: Parameters as dict or list of two-tuples
        :param dict collection_formats: Parameter collection formats
        :return: Parameters as list of tuples, collections formatted
        multic              3   &   K   | ]  }|f 
 y wr+   r%   rt  r=  rh  s     r'   rv  z1ApiClient.parameters_to_tuples.<locals>.<genexpr>v4       %@Uq%j%@   ssv tsv	pipes|,c              3   2   K   | ]  }t        |        y wr+   )rH   rt  r=  s     r'   rv  z1ApiClient.parameters_to_tuples.<locals>.<genexpr>4  s     *E%3u:*Es   )rw  r   r   r   r   r2  )r/   paramsr   
new_paramsri  collection_format	delimiterrh  s          @r'   rS  zApiClient.parameters_to_tuplesh4  s     
%!#&0&>FLLNF 	*DAq&&$6q$9!$/%%%@a%@@(E1$'	*e3$(	*g5$'	$'	%%INN*E1*EEFH !!1a&)#	*$ r&   c           	         g }|i }t        |t              r|j                         n|D ]  \  }t        |t        t        f      rt        |      }t        |t              rt        |      j                         }t        |t              rt        j                  |      }|v ri|   }|dk(  r|j                  fd|D               |dk(  rd}n|dk(  rd}n
|dk(  rd}nd	}|j                  |j                  d
 |D              f       |j                  t        t        |            f       
 dj                  |D cg c]  }dj                  |       c}      S c c}w )a  Get parameters as list of tuples, formatting collections.

        :param params: Parameters as dict or list of two-tuples
        :param dict collection_formats: Parameter collection formats
        :return: URL query string (e.g. a=Hello%20World&b=123)
        r  c              3   &   K   | ]  }|f 
 y wr+   r%   r  s     r'   rv  z4ApiClient.parameters_to_url_query.<locals>.<genexpr>4  r  r  r  r  r  r  r  r  r  c              3   D   K   | ]  }t        t        |              y wr+   )r   rH   r  s     r'   rv  z4ApiClient.parameters_to_url_query.<locals>.<genexpr>4  s     *L5U+<*Ls    &=)rw  r   r   r  r  rH   r  lowerrI   dumpsr   r   r2  r   )	r/   r  r   r  ri  r  r  itemrh  s	           @r'   rX  z!ApiClient.parameters_to_url_query4  sG    
%!#&0&>FLLNF 	6DAq!c5\*F!T"FLLN!T"JJqM&&$6q$9!$/%%%@a%@@(E1$'	*e3$(	*g5$'	$'	%%INN*L!*LLMO !!1eCFm"451	64 xxJ?D$?@@?s   E#c                    g }|r|j                         D ]  \  }}|s	t        |      t        u r|n|g}|D ]  }t        |d      5 }t        j
                  j                  |j                        }|j                         }	t        j                  |      d   xs d}
|j                  t        |t        ||	|
g      g             ddd         |S # 1 sw Y   xY w)zuBuilds form parameters.

        :param files: File parameters.
        :return: Form parameters with files.
        rbr   zapplication/octet-streamN)r   r,   ry  openospathbasenamenameread	mimetypes
guess_typer   rz  )r/   r   r  rh  ri  
file_namesnffilenamefiledatamimetypes              r'   rV  zApiClient.files_parameters4  s      O1"&q'T/Qs
# OAa O!#%77#3#3AFF#;#$668$-$8$8$B1$E %?$> !!1eXx,J&K"LMOO OO	O O Os   A>CCc                 r    |sy|D ]+  }t        j                  d|t         j                        s)|c S  |d   S )zReturns `Accept` based on an array of accepts provided.

        :param accepts: List of headers.
        :return: Accept (e.g. application/json).
        NrI   r   r]  r^  
IGNORECASE)r/   acceptsr3  s      r'   r   zApiClient.select_header_accept4  s>      	Fyy7	 qzr&   c                 r    |sy|D ]+  }t        j                  d|t         j                        s)|c S  |d   S )zReturns `Content-Type` based on an array of content_types provided.

        :param content_types: List of content-types.
        :return: Content-Type (e.g. application/json).
        NrI   r   r  )r/   content_typesr2  s      r'   r   z$ApiClient.select_header_content_type4  s@     ) 	$Lyyr}}=##	$ Qr&   c           	          |sy|r| j                  ||||||       y|D ]D  }| j                  j                         j                  |      }	|	s/| j                  ||||||	       F y)a  Updates header and query params based on authentication setting.

        :param headers: Header parameters dict to be updated.
        :param queries: Query parameters tuple list to be updated.
        :param auth_settings: Authentication setting identifiers list.
        :resource_path: A string representation of the HTTP request resource path.
        :method: A string representation of the HTTP request method.
        :body: A object representing the body of the HTTP request.
        The object type is the return value of sanitize_for_serialization().
        :param request_auth: if set, the provided settings will
                             override the token in the configuration.
        N)_apply_auth_paramsr   r   r   )
r/   rL  queriesr   rb  rc  r   rI  authauth_settings
             r'   rW  z ApiClient.update_params_for_auth4  s{     ##GW$164$02 ! 	6D--;;=AA$GL''(5vt(46	6r&   c                     |d   dk(  r	|d   |d<   y|d   dk(  r|d   dk7  r|d   ||d   <   yy|d   d	k(  r|j                  |d   |d   f       yt        d
      )a,  Updates the request parameters based on a single auth_setting

        :param headers: Header parameters dict to be updated.
        :param queries: Query parameters tuple list to be updated.
        :resource_path: A string representation of the HTTP request resource path.
        :method: A string representation of the HTTP request method.
        :body: A object representing the body of the HTTP request.
        The object type is the return value of sanitize_for_serialization().
        :param auth_setting: auth settings for the endpoint
        inr!  r=  rG  headerr,   zhttp-signaturer  queryz3Authentication token must be in `query` or `header`N)r   r   )r/   rL  r  rb  rc  r   r  s          r'   r  zApiClient._apply_auth_params5  s     ) ,W 5GH$8+F#'77/;G/DU+, 8$7*NNL/g1FGHE r&   c                    t        j                  | j                  j                        \  }}t	        j
                  |       t	        j                  |       |j                  d      }|rbt        j                  d|      j                  d      }t        j                  j                  t        j                  j                  |      |      }t        |d      5 }|j                  |j                          ddd       |S # 1 sw Y   |S xY w)zDeserializes body to file

        Saves response body into a file in a temporary folder,
        using the filename from the `Content-Disposition` header if provided.

        :param response:  RESTResponse.
        :return: file path.
        )dirzContent-Dispositionz filename=[\'"]?([^\'"\s]+)[\'"]?r   wbN)tempfilemkstempr   temp_folder_pathr  r*  remover\  r]  r^  r_  r  r2  dirnamer  writerO  )r/   r  fdr  content_dispositionr  r  s          r'   __deserialize_filezApiClient.__deserialize_file5  s     ##(:(:(K(KLD

		$&001FGyy!D!466;eAh 77<< 5x@D$ 	#GGHMM"	# 	# s   C??D	c                 `    	  ||      S # t         $ r t        |      cY S t        $ r |cY S w xY w)zDeserializes string to primitive type.

        :param data: str.
        :param klass: class literal.

        :return: int, long, float, str, bool.
        )UnicodeEncodeErrorrH   	TypeErrorr/   rO  r  s      r'   __deserialize_primitivez!ApiClient.__deserialize_primitive25  s7    	;! 	t9 	K	s   
 -
--c                     |S )z<Return an original value.

        :return: object.
        r%   r<  s     r'   __deserialize_objectzApiClient.__deserialize_objectA5  s	    
 r&   c                     	 t        |      j                         S # t        $ r |cY S t        $ r' t	        j
                  ddj                  |            w xY w)zYDeserializes string to date.

        :param string: str.
        :return: date.
        r   z$Failed to parse `{0}` as date objectrB  reason)r   r  ImportErrorr  r   r   formatr/   strings     r'   __deserialize_datezApiClient.__deserialize_dateH5  sZ    	=%%'' 	M 	##=DDVL 	s    A/Ac                     	 t        |      S # t        $ r |cY S t        $ r' t        j                  ddj                  |            w xY w)zDeserializes string to datetime.

        The string should be in iso8601 datetime format.

        :param string: str.
        :return: datetime.
        r   z(Failed to parse `{0}` as datetime objectr  )r   r  r  r   r   r  r  s     r'   __deserialize_datetimez ApiClient.__deserialize_datetimeX5  sO    	=  	M 	##>VF^	 	s   
 A	/A	c                 $    |j                  |      S )zDeserializes list or dict to model.

        :param data: dict, list.
        :param klass: class literal.
        :return: model object.
        )	from_dictr  s      r'   __deserialize_modelzApiClient.__deserialize_modelm5  s     t$$r&   )NNNNr   )NNNNNNNNNNTNNN)NNNNNNNNNNNTNNN)NNNNTNr+   )0r    r!   r"   __doc__r  r  r@   rH   r  rx  r{  r  r  r.   r  r1  r1   r(  r.  r*  propertyr7  r"  setterr?  rA  classmethodr   rE  r  rR  r`  r  r   rY  rS  rX  rV  r   r   rW  r  r  r  r  r  r  r  r%   r&   r'   r   r   2  s{   " dE34OKK	 EJN+,K".   2 2 3 39 H    6:JN?C<@@Dm:^&2P7,%9P EI488<8<;?BFDNL ?C>B!%9v<$AL0 " -16>20 *%r&   r   (<  r  r]  iowarningspydanticr   r   r   r   r   r   r	   r
   r   r   typing_extensionsr   cashfree_pg.configurationr   cashfree_pg.api_responser   cashfree_pg.exceptionsr   r   r   r4  r  r{  dateutil.parserr   rI   r  multiprocessing.poolr   r  r  rA   rE   rC   typingr   r   r   r   urllib.parser   cashfree_pg.modelsr  r   "cashfree_pg.models.address_details0cashfree_pg.models.adjust_vendor_balance_request1cashfree_pg.models.adjust_vendor_balance_responsecashfree_pg.models.api_errorcashfree_pg.models.api_error404cashfree_pg.models.api_error409cashfree_pg.models.api_error502cashfree_pg.models.app%cashfree_pg.models.app_payment_method'cashfree_pg.models.authentication_error(cashfree_pg.models.authorization_details3cashfree_pg.models.authorization_in_payments_entity*cashfree_pg.models.authorize_order_request$cashfree_pg.models.bad_request_error"cashfree_pg.models.balance_detailscashfree_pg.models.bank_detailscashfree_pg.models.banktransfer.cashfree_pg.models.banktransfer_payment_methodcashfree_pg.models.cardcashfree_pg.models.card_emi*cashfree_pg.models.card_emi_payment_methodcashfree_pg.models.card_offer&cashfree_pg.models.card_payment_methodcashfree_pg.models.cardless_emi&cashfree_pg.models.cardless_emi_entity.cashfree_pg.models.cardless_emi_payment_method'cashfree_pg.models.cardless_emi_queriescashfree_pg.models.cart_details&cashfree_pg.models.cart_details_entitycashfree_pg.models.cart_item#cashfree_pg.models.cashback_details"cashfree_pg.models.charges_details!cashfree_pg.models.charges_entity*cashfree_pg.models.create_customer_request&cashfree_pg.models.create_link_request'cashfree_pg.models.create_offer_request'cashfree_pg.models.create_order_request7cashfree_pg.models.create_order_settlement_request_bodyAcashfree_pg.models.create_order_settlement_request_body_meta_data-cashfree_pg.models.create_partner_vpa_request&cashfree_pg.models.create_plan_request6cashfree_pg.models.create_subscription_payment_request;cashfree_pg.models.create_subscription_payment_request_card<cashfree_pg.models.create_subscription_payment_request_enackEcashfree_pg.models.create_subscription_payment_request_payment_method<cashfree_pg.models.create_subscription_payment_request_pnach7cashfree_pg.models.create_subscription_payment_response5cashfree_pg.models.create_subscription_refund_request.cashfree_pg.models.create_subscription_requestDcashfree_pg.models.create_subscription_request_authorization_details;cashfree_pg.models.create_subscription_request_plan_details@cashfree_pg.models.create_subscription_request_subscription_meta9cashfree_pg.models.create_subscripton_payment_request_upi*cashfree_pg.models.create_terminal_request8cashfree_pg.models.create_terminal_request_terminal_meta6cashfree_pg.models.create_terminal_transaction_request(cashfree_pg.models.create_vendor_request)cashfree_pg.models.create_vendor_response$cashfree_pg.models.cryptogram_entity#cashfree_pg.models.customer_details0cashfree_pg.models.customer_details_cardless_emi6cashfree_pg.models.customer_details_in_disputes_entity,cashfree_pg.models.customer_details_response"cashfree_pg.models.customer_entity-cashfree_pg.models.demap_soundbox_vpa_request#cashfree_pg.models.discount_details"cashfree_pg.models.disputes_entity4cashfree_pg.models.disputes_entity_merchant_acceptedcashfree_pg.models.emi_offer"cashfree_pg.models.emi_plans_array)cashfree_pg.models.es_order_recon_request1cashfree_pg.models.es_order_recon_request_filters4cashfree_pg.models.es_order_recon_request_pagination*cashfree_pg.models.es_order_recon_response5cashfree_pg.models.es_order_recon_response_data_innerHcashfree_pg.models.es_order_recon_response_data_inner_order_splits_innerTcashfree_pg.models.es_order_recon_response_data_inner_order_splits_inner_split_inner2cashfree_pg.models.eligibility_cardless_emi_entity9cashfree_pg.models.eligibility_fetch_cardless_emi_request3cashfree_pg.models.eligibility_fetch_offers_request5cashfree_pg.models.eligibility_fetch_paylater_request<cashfree_pg.models.eligibility_fetch_payment_methods_request*cashfree_pg.models.eligibility_method_item9cashfree_pg.models.eligibility_method_item_entity_detailsQcashfree_pg.models.eligibility_method_item_entity_details_available_handles_inner+cashfree_pg.models.eligibility_offer_entity.cashfree_pg.models.eligibility_paylater_entity5cashfree_pg.models.eligibility_payment_methods_entityDcashfree_pg.models.eligibility_payment_methods_entity_entity_details,cashfree_pg.models.entity_simulation_request-cashfree_pg.models.entity_simulation_response3cashfree_pg.models.error_details_in_payments_entitycashfree_pg.models.evidence8cashfree_pg.models.evidence_submitted_to_contest_dispute/cashfree_pg.models.evidences_to_contest_dispute(cashfree_pg.models.extended_cart_details,cashfree_pg.models.extended_customer_details&cashfree_pg.models.fetch_recon_request.cashfree_pg.models.fetch_recon_request_filters1cashfree_pg.models.fetch_recon_request_pagination,cashfree_pg.models.fetch_settlements_request4cashfree_pg.models.fetch_settlements_request_filters7cashfree_pg.models.fetch_settlements_request_pagination1cashfree_pg.models.fetch_terminal_qr_codes_entity$cashfree_pg.models.idempotency_error$cashfree_pg.models.instrument_entity%cashfree_pg.models.instrument_webhook*cashfree_pg.models.instrument_webhook_data1cashfree_pg.models.instrument_webhook_data_entitycashfree_pg.models.kyc_details/cashfree_pg.models.link_customer_details_entitycashfree_pg.models.link_entity,cashfree_pg.models.link_meta_response_entity%cashfree_pg.models.link_notify_entity6cashfree_pg.models.manage_subscription_payment_requestEcashfree_pg.models.manage_subscription_payment_request_action_details.cashfree_pg.models.manage_subscription_request=cashfree_pg.models.manage_subscription_request_action_details-cashfree_pg.models.net_banking_payment_methodcashfree_pg.models.netbankingcashfree_pg.models.offer_allcashfree_pg.models.offer_card cashfree_pg.models.offer_detailscashfree_pg.models.offer_emicashfree_pg.models.offer_entity)cashfree_pg.models.offer_extended_details cashfree_pg.models.offer_filterscashfree_pg.models.offer_metacashfree_pg.models.offer_nb&cashfree_pg.models.offer_nb_netbanking!cashfree_pg.models.offer_paylater cashfree_pg.models.offer_queriescashfree_pg.models.offer_tnccashfree_pg.models.offer_typecashfree_pg.models.offer_upi$cashfree_pg.models.offer_validations3cashfree_pg.models.offer_validations_payment_methodcashfree_pg.models.offer_wallet/cashfree_pg.models.onboard_soundbox_vpa_request,cashfree_pg.models.order_authenticate_entity5cashfree_pg.models.order_authenticate_payment_request.cashfree_pg.models.order_create_refund_request(cashfree_pg.models.order_delivery_status3cashfree_pg.models.order_details_in_disputes_entitycashfree_pg.models.order_entity-cashfree_pg.models.order_extended_data_entitycashfree_pg.models.order_meta!cashfree_pg.models.order_pay_data#cashfree_pg.models.pay_order_entity$cashfree_pg.models.pay_order_request3cashfree_pg.models.pay_order_request_payment_methodcashfree_pg.models.paylater"cashfree_pg.models.paylater_entity!cashfree_pg.models.paylater_offer*cashfree_pg.models.paylater_payment_method!cashfree_pg.models.payment_entity0cashfree_pg.models.payment_link_customer_details,cashfree_pg.models.payment_link_order_entity8cashfree_pg.models.payment_method_app_in_payments_entity<cashfree_pg.models.payment_method_app_in_payments_entity_appBcashfree_pg.models.payment_method_bank_transfer_in_payments_entityOcashfree_pg.models.payment_method_bank_transfer_in_payments_entity_banktransfer<cashfree_pg.models.payment_method_card_emiin_payments_entity@cashfree_pg.models.payment_method_card_emiin_payments_entity_emiLcashfree_pg.models.payment_method_card_emiin_payments_entity_emi_emi_details9cashfree_pg.models.payment_method_card_in_payments_entity>cashfree_pg.models.payment_method_card_in_payments_entity_card@cashfree_pg.models.payment_method_cardless_emiin_payments_entity@cashfree_pg.models.payment_method_net_banking_in_payments_entityKcashfree_pg.models.payment_method_net_banking_in_payments_entity_netbanking;cashfree_pg.models.payment_method_others_in_payments_entity=cashfree_pg.models.payment_method_paylater_in_payments_entity7cashfree_pg.models.payment_method_upiin_payments_entity;cashfree_pg.models.payment_method_upiin_payments_entity_upi*cashfree_pg.models.payment_methods_filters*cashfree_pg.models.payment_methods_queries'cashfree_pg.models.payment_mode_details"cashfree_pg.models.payment_webhook2cashfree_pg.models.payment_webhook_customer_entity.cashfree_pg.models.payment_webhook_data_entity/cashfree_pg.models.payment_webhook_error_entity9cashfree_pg.models.payment_webhook_gateway_details_entity/cashfree_pg.models.payment_webhook_order_entitycashfree_pg.models.plan_entity#cashfree_pg.models.rate_limit_errorcashfree_pg.models.recon_entity*cashfree_pg.models.recon_entity_data_inner cashfree_pg.models.refund_entitycashfree_pg.models.refund_speed!cashfree_pg.models.refund_webhook-cashfree_pg.models.refund_webhook_data_entity(cashfree_pg.models.saved_instrument_meta"cashfree_pg.models.schedule_option$cashfree_pg.models.settlement_entity1cashfree_pg.models.settlement_fetch_recon_request*cashfree_pg.models.settlement_recon_entity5cashfree_pg.models.settlement_recon_entity_data_inner%cashfree_pg.models.settlement_webhook1cashfree_pg.models.settlement_webhook_data_entity#cashfree_pg.models.shipment_details#cashfree_pg.models.simulate_request&cashfree_pg.models.simulation_response&cashfree_pg.models.soundbox_vpa_entity.cashfree_pg.models.split_after_payment_request:cashfree_pg.models.split_after_payment_request_split_inner/cashfree_pg.models.split_after_payment_response5cashfree_pg.models.split_order_recon_success_response@cashfree_pg.models.split_order_recon_success_response_settlementCcashfree_pg.models.split_order_recon_success_response_vendors_inner,cashfree_pg.models.static_qr_response_entity'cashfree_pg.models.static_split_request4cashfree_pg.models.static_split_request_scheme_inner(cashfree_pg.models.static_split_response5cashfree_pg.models.static_split_response_scheme_inner,cashfree_pg.models.subscription_bank_details0cashfree_pg.models.subscription_customer_details3cashfree_pg.models.subscription_eligibility_request;cashfree_pg.models.subscription_eligibility_request_filters;cashfree_pg.models.subscription_eligibility_request_queries4cashfree_pg.models.subscription_eligibility_response&cashfree_pg.models.subscription_entity8cashfree_pg.models.subscription_entity_subscription_meta.cashfree_pg.models.subscription_payment_entity>cashfree_pg.models.subscription_payment_entity_failure_details5cashfree_pg.models.subscription_payment_refund_entity2cashfree_pg.models.subscription_payment_split_item#cashfree_pg.models.terminal_details"cashfree_pg.models.terminal_entity*cashfree_pg.models.terminal_payment_entity9cashfree_pg.models.terminal_payment_entity_payment_method.cashfree_pg.models.terminal_transaction_entity*cashfree_pg.models.terminate_order_request#cashfree_pg.models.transfer_details.cashfree_pg.models.transfer_details_tags_inner(cashfree_pg.models.upi_authorize_details%cashfree_pg.models.upi_payment_method4cashfree_pg.models.update_order_extended_data_entity0cashfree_pg.models.update_order_extended_request.cashfree_pg.models.update_soundbox_vpa_request)cashfree_pg.models.update_terminal_entity*cashfree_pg.models.update_terminal_request8cashfree_pg.models.update_terminal_request_terminal_meta1cashfree_pg.models.update_terminal_status_request(cashfree_pg.models.update_vendor_request)cashfree_pg.models.update_vendor_responsecashfree_pg.models.upicashfree_pg.models.upi_details.cashfree_pg.models.upload_pnach_image_response'cashfree_pg.models.upload_terminal_docs.cashfree_pg.models.upload_terminal_docs_entity3cashfree_pg.models.upload_vendor_documents_response,cashfree_pg.models.vendor_adjustment_request5cashfree_pg.models.vendor_adjustment_success_response!cashfree_pg.models.vendor_balance2cashfree_pg.models.vendor_balance_transfer_charges4cashfree_pg.models.vendor_document_download_response,cashfree_pg.models.vendor_documents_response cashfree_pg.models.vendor_entity3cashfree_pg.models.vendor_entity_related_docs_innercashfree_pg.models.vendor_splitcashfree_pg.models.wallet_offerEnumr   r)   r3   r.   r   r%   r&   r'   <module>r     s  
 
 	  X  X  X ' 3 0    !   + 	 	      ' 7 7 3 0
  3 0   0 > ? * - - - $ 3 5 6 A 8 2 0 - - < % ) 8 + 4 - 4 < 5 - 4 * 1 0 / 8 4 5 5 E O ; 4 D I J S J E C < R I N G 8 F D 6 7 2 1 > D : 0 ; 1 0 B * 0 7 ? B 8 C V b @ G A C J 8 G _ 9 < C R : ; A ) F = 6 : 4 < ? : B E ? 2 2 3 8 ? , = , : 3 D S < K ; + * + . * - 7 . + ) 4 / . * + * 2 A - = : C < 6 A - ; + / 1 2 A ) 0 / 8 / > : F J P ] J N Z G L N N Y I K E I 8 8 5 0 @ < = G = , 1 - 8 . - / ; 6 0 2 ? 8 C 3 ? 1 1 4 4 < H = C N Q : 5 B 6 C : > A I I B 4 F < L C @ 1 0 8 G < 8 1 < 6 3 B > < 7 8 F ? 6 7 $ , < 5 < A : C / @ B : . A - -D  TE8 TE8pJQ% Q%r&   