async def get_all_payments_async(self):
     """
     Get all payments bound with your application async
     :return:
     """
     response = await self._process_request_async(
         method='get', endpoint=self.PAYMENTS_ENDPOINT)
     return [Payment(**p) for p in response]
 async def get_payment_async(self, payment_id: str):
     """
     :param payment_id: payment identifier
     :return: Payment
     """
     response = await self._process_request_async(
         method='get',
         endpoint=self.DETAILED_PAYMENT_ENDPOINT.format(
             payment_id=payment_id))
     return Payment(**response)
 def update_payment_data(self, payment_id, data):
     """
     Upload new payment data
     :param payment_id: payment identifier
     :param data: dict
     :return: Payment object
     """
     response = self._process_request(method='post',
                                      endpoint=self.PAYMENT_ENDPOINT,
                                      json={
                                          'data': data,
                                          'payment_id': payment_id
                                      })
     return Payment(**response)
 async def create_payment_async(self, symbol, data=None):
     """
     Creating new payment async
     :param symbol: one of supported symbols
     :param data: data to be stored with payment object, dict or None
     :return:
     """
     json = {'symbol': symbol}
     if not data:
         data = {}
     data['fixed_amount'] = 0
     json['data'] = data
     response = await self._process_request_async(
         method='put', endpoint=self.PAYMENT_ENDPOINT, json=json)
     return Payment(**response)