def pay(self):
     super(BMI, self).pay()
     data = self.get_pay_data()
     response_json = self._send_data(self._token_api_url, data)
     if response_json['ResCode'] == '0':
         token = response_json['Token']
         self._set_reference_number(token)
     else:
         logging.critical("BMI gateway reject payment")
         raise BankGatewayRejectPayment(self.get_transaction_status_text())
 def pay(self):
     super(Zibal, self).pay()
     data = self.get_pay_data()
     response_json = self._send_data(self._token_api_url, data)
     if response_json['result'] == 100:
         token = response_json['trackId']
         self._set_reference_number(token)
     else:
         logging.critical("Zibal gateway reject payment")
         raise BankGatewayRejectPayment(self.get_transaction_status_text())
Example #3
0
 def pay(self):
     super(Zarinpal, self).pay()
     data = self.get_pay_data()
     client = self._get_client()
     result = client.service.PaymentRequest(**data)
     if result.Status == 100:
         token = result.Authority
         self._set_reference_number(token)
     else:
         logging.critical("Zarinpal gateway reject payment")
         raise BankGatewayRejectPayment(self.get_transaction_status_text())
 def pay(self):
     super(IDPay, self).pay()
     data = self.get_pay_data()
     response_json = self._send_data(self._token_api_url, data)
     if 'id' in response_json and 'link' in response_json and response_json['link'] and response_json['id']:
         token = response_json['id']
         self._payment_url, self._params = split_to_dict_querystring(response_json['link'])
         self._set_reference_number(token)
     else:
         logging.critical("IDPay gateway reject payment")
         raise BankGatewayRejectPayment(self.get_transaction_status_text())
 def pay(self):
     super(Bahamta, self).pay()
     data = self.get_pay_data()
     response_json = self._send_data(self._token_api_url, data)
     if response_json['ok']:
         # در این سیستم رفرنس برای ذخیره سازی بر نمی گردد!
         token = self.get_tracking_code()
         self._payment_url, self._params = split_to_dict_querystring(
             response_json['result']['payment_url'])
         self._set_reference_number(token)
     else:
         logging.critical("Bahamta gateway reject payment")
         raise BankGatewayRejectPayment(self.get_transaction_status_text())
    def pay(self):
        super(Mellat, self).pay()

        data = self.get_pay_data()
        client = self._get_client()
        response = client.service.bpPayRequest(**data)
        try:
            status, token = response.split(',')
            if status == '0':
                self._set_reference_number(token)
        except ValueError:
            status_text = 'Unknown error'
            if response == '12':
                status_text = 'Insufficient inventory'
            if response == '21':
                status_text = 'Invalid service'
            if response == '421':
                status_text = 'Invalid IP address'

            self._set_transaction_status_text(status_text)
            logging.critical(status_text)
            raise BankGatewayRejectPayment(self.get_transaction_status_text())