U
    ^g%io                     @   s4   d dl mZ ddlmZ ddlZG dd deZdS )   )Resource   )URL    Nc                       s   e Zd Zd fdd	Zi fddZi f fdd	Zi f fdd		Zi fd
dZi fddZi fddZ	i fddZ
i fddZi fddZ  ZS )OrderNc                    s"   t t| | tjtj | _d S )N)superr   __init__r   ZV1Z	ORDER_URLbase_url)selfclient	__class__ W/var/www/html/api-medvista/venv/lib/python3.8/site-packages/razorpay/resources/order.pyr      s    zOrder.__init__c                 K   s   t dt | j|f|S )Nz+Will be Deprecated in next release, use all)warningswarnDeprecationWarningallr
   datakwargsr   r   r   	fetch_all   s    zOrder.fetch_allc                    s   t t| j|f|S )za
        Fetch all Order entities

        Returns:
            Dictionary of Order data
        )r   r   r   r   r   r   r   r      s    z	Order.allc                    s   t t| j||f|S )z
        Fetch Order for given Id

        Args:
            order_id : Id for which order object has to be retrieved

        Returns:
            Order dict for given order Id
        )r   r   fetchr
   order_idr   r   r   r   r   r      s    
zOrder.fetchc                 K   s   t dt | j||f|S )Nz0Will be Deprecated in next release, use payments)r   r   r   paymentsr   r   r   r   fetch_all_payments%   s    zOrder.fetch_all_paymentsc                 K   s   d | j|}| j||f|S )z
        Fetch Payment for Order Id

        Args:
            order_id : Id for which payment objects has to be retrieved

        Returns:
            Payment dict for given Order Id
        z{}/{}/payments)formatr	   get_urlr
   r   r   r   urlr   r   r   r   *   s    
zOrder.paymentsc                 K   s   | j }| j||f|S )a  
        Create Order from given dict

        Args:
            data : Dictionary having keys using which order have to be created
                'amount' :  Amount of Order
                'currency' : Currency used in Order
                'receipt' : Receipt Id for the order
                'notes' : key value pair as notes
                'payment_capture': 0/1 if payment should be auto captured or not

        Returns:
            Order Dict which was created
        r	   Zpost_url)r
   r   r   r    r   r   r   create7   s    zOrder.createc                 K   s    | j  d| }| j||f|S )z
         Update order

        Args:
            data : Dictionary having keys using which order have to be edited
                'notes' : key value pair as notes
            
            Returns:
            Order Dict which was edited

        /)r	   Z	patch_urlr   r   r   r   editI   s    z
Order.editc                 K   s"   | j  d| d}| j||f|S )z]
        View rto risk reasons

        Returns:
            Dict for given Order Id
        r#   z/rto_reviewr!   r   r   r   r   viewRtoReviewX   s    zOrder.viewRtoReviewc                 K   s"   | j  d| d}| j||f|S )zf
        Update the Fulfillment Details

        Returns:
            Dict for given Order Id
        r#   z/fulfillmentr!   r   r   r   r   editFulfillmentb   s    zOrder.editFulfillment)N)__name__
__module____qualname__r   r   r   r   r   r   r"   r$   r%   r&   __classcell__r   r   r   r   r      s   	
r   )baser   Zconstants.urlr   r   r   r   r   r   r   <module>   s   