def marketplaceCreditCreate(self, marketplace_subseller_payments: list, amount: int, order: Order, customer: Customer, credit: Credit, currency: str = "BRL", device: Device = None, **kwargs): data = { "seller_id": self._client.seller_id, "amount": amount, "currency": currency, "order": order.as_dict(), "customer": customer.as_dict(), "credit": credit.as_dict() } if marketplace_subseller_payments is not None: data[ "marketplace_subseller_payments"] = marketplace_subseller_payments if device is not None: data["device"] = device.as_dict() data["credit"].pop("authenticated") data["customer"]["billing_address"] = data["customer"].pop("address") data["customer"].pop("observation") phone = data["customer"].pop("phone_number") cellphone = data["customer"].pop("celphone_number") data["customer"].pop("seller_id") data["customer"].pop("birth_date") data["customer"].setdefault( "name", f'{data["customer"]["first_name"]} {data["customer"]["last_name"]}' ) data["shippings"] = [{ "first_name": data["customer"]["first_name"], "name": f'{data["customer"]["first_name"]} {data["customer"]["last_name"]}', "email": data["customer"]["email"], "phone_number": cellphone, "shipping_amount": 0, "address": data["customer"]["billing_address"] }] response = self._post(self._format_url(), json=data) if "callback" in kwargs.keys(): kwargs["callback"](data, response, self._format_url()) return CreditPaymentResponse(**response)
def testAsDict(self): object = Order("123", 0, "service") self.assertDictEqual( { "order_id": "123", "sales_tax": 0, "product_type": "service" }, object.as_dict(), )
def create( self, amount: int, currency: str, order: Order, boleto: Boleto, customer: Customer, ) -> BoletoPaymentResponse: data = { "seller_id": self._client.seller_id, "amount": amount, "currency": currency, "order": order.as_dict(), "boleto": boleto.as_dict(), "customer": customer.as_dict(), } response = self._post(self._format_url(), json=data) return BoletoPaymentResponse(_base_uri=self._client.base_url, **response)
def marketplaceBoletoCreate( self, amount: int, currency: str, order: Order, boleto: Boleto, customer: Customer, marketplace_subseller_payments: MarketplaceSubseller ) -> BoletoPaymentResponse: data = { "seller_id": self._client.seller_id, "amount": amount, "currency": currency, "order": order.as_dict(), "boleto": boleto.as_dict(), "customer": customer.as_dict(), } if marketplace_subseller_payments is not None: data[ "marketplace_subseller_payments"] = marketplace_subseller_payments data["customer"]["billing_address"] = data["customer"].pop("address") data["customer"]["billing_address"].pop("country") data["customer"].pop("observation") phone = data["customer"].pop("phone_number") cellphone = data["customer"].pop("celphone_number") data["customer"].pop("seller_id") data["customer"].pop("customer_id") data["customer"].pop("email") data["customer"].pop("birth_date") data["customer"].setdefault( "name", f'{data["customer"]["first_name"]} {data["customer"]["last_name"]}' ) data["customer"].pop("last_name") data["boleto"].pop("our_number") response = self._post(self._format_url(), json=data) return BoletoPaymentResponse(_base_uri=self._client.base_url, **response)
def create( self, amount: int, currency: str, order: Order, credit: Credit, customer: Customer, device: Device = None, ) -> CreditPaymentResponse: data = { "seller_id": self._client.seller_id, "amount": amount, "currency": currency, "order": order.as_dict(), "customer": customer.as_dict(), "credit": credit.as_dict(), } if device is not None: data["device"] = device.as_dict() response = self._post(self._format_url(), json=data) return CreditPaymentResponse(**response)