Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions processout/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
from processout.invoicebilling import InvoiceBilling
from processout.unsupportedfeaturebypass import UnsupportedFeatureBypass
from processout.invoicedetail import InvoiceDetail
from processout.invoicesubmerchant import InvoiceSubmerchant
from processout.submerchantphonenumber import SubmerchantPhoneNumber
from processout.submerchantaddress import SubmerchantAddress
from processout.customeraction import CustomerAction
from processout.dunningaction import DunningAction
from processout.payout import Payout
Expand Down
18 changes: 18 additions & 0 deletions processout/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,24 @@ def new_invoice_detail(self, prefill=None):
prefill -- Data used to prefill the object (optional)"""
return processout.InvoiceDetail(self, prefill)

def new_invoice_submerchant(self, prefill=None):
"""Create a new InvoiceSubmerchant instance
Keyword argument:
prefill -- Data used to prefill the object (optional)"""
return processout.InvoiceSubmerchant(self, prefill)

def new_submerchant_phone_number(self, prefill=None):
"""Create a new SubmerchantPhoneNumber instance
Keyword argument:
prefill -- Data used to prefill the object (optional)"""
return processout.SubmerchantPhoneNumber(self, prefill)

def new_submerchant_address(self, prefill=None):
"""Create a new SubmerchantAddress instance
Keyword argument:
prefill -- Data used to prefill the object (optional)"""
return processout.SubmerchantAddress(self, prefill)

def new_customer_action(self, prefill=None):
"""Create a new CustomerAction instance
Keyword argument:
Expand Down
27 changes: 27 additions & 0 deletions processout/invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def __init__(self, client, prefill=None):
self._token = None
self._token_id = None
self._details = None
self._submerchant = None
self._url = None
self._url_qrcode = None
self._name = None
Expand Down Expand Up @@ -282,6 +283,28 @@ def details(self, val):
self._details = l
return self

@property
def submerchant(self):
"""Get submerchant"""
return self._submerchant

@submerchant.setter
def submerchant(self, val):
"""Set submerchant
Keyword argument:
val -- New submerchant value"""
if val is None:
self._submerchant = val
return self

if isinstance(val, dict):
obj = processout.InvoiceSubmerchant(self._client)
obj.fill_with_data(val)
self._submerchant = obj
else:
self._submerchant = val
return self

@property
def url(self):
"""Get url"""
Expand Down Expand Up @@ -876,6 +899,8 @@ def fill_with_data(self, data):
self.token_id = data["token_id"]
if "details" in data.keys():
self.details = data["details"]
if "submerchant" in data.keys():
self.submerchant = data["submerchant"]
if "url" in data.keys():
self.url = data["url"]
if "url_qrcode" in data.keys():
Expand Down Expand Up @@ -969,6 +994,7 @@ def to_json(self):
"token": self.token,
"token_id": self.token_id,
"details": self.details,
"submerchant": self.submerchant,
"url": self.url,
"url_qrcode": self.url_qrcode,
"name": self.name,
Expand Down Expand Up @@ -1354,6 +1380,7 @@ def create(self, options={}):
'currency': self.currency,
'metadata': self.metadata,
'details': self.details,
'submerchant': self.submerchant,
'exemption_reason_3ds2': self.exemption_reason_3ds2,
'sca_exemption_reason': self.sca_exemption_reason,
'challenge_indicator': self.challenge_indicator,
Expand Down
202 changes: 202 additions & 0 deletions processout/invoicesubmerchant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
try:
from urllib.parse import quote_plus
except ImportError:
from urllib import quote_plus

import processout
import json

from processout.networking.request import Request
from processout.networking.response import Response

# The content of this file was automatically generated


class InvoiceSubmerchant(object):
def __init__(self, client, prefill=None):
self._client = client

self._id = None
self._name = None
self._reference = None
self._mcc = None
self._phone_number = None
self._email = None
self._address = None
self._tax_reference = None
self._service_establishment_number = None
if prefill is not None:
self.fill_with_data(prefill)

@property
def id(self):
"""Get id"""
return self._id

@id.setter
def id(self, val):
"""Set id
Keyword argument:
val -- New id value"""
self._id = val
return self

@property
def name(self):
"""Get name"""
return self._name

@name.setter
def name(self, val):
"""Set name
Keyword argument:
val -- New name value"""
self._name = val
return self

@property
def reference(self):
"""Get reference"""
return self._reference

@reference.setter
def reference(self, val):
"""Set reference
Keyword argument:
val -- New reference value"""
self._reference = val
return self

@property
def mcc(self):
"""Get mcc"""
return self._mcc

@mcc.setter
def mcc(self, val):
"""Set mcc
Keyword argument:
val -- New mcc value"""
self._mcc = val
return self

@property
def phone_number(self):
"""Get phone_number"""
return self._phone_number

@phone_number.setter
def phone_number(self, val):
"""Set phone_number
Keyword argument:
val -- New phone_number value"""
if val is None:
self._phone_number = val
return self

if isinstance(val, dict):
obj = processout.SubmerchantPhoneNumber(self._client)
obj.fill_with_data(val)
self._phone_number = obj
else:
self._phone_number = val
return self

@property
def email(self):
"""Get email"""
return self._email

@email.setter
def email(self, val):
"""Set email
Keyword argument:
val -- New email value"""
self._email = val
return self

@property
def address(self):
"""Get address"""
return self._address

@address.setter
def address(self, val):
"""Set address
Keyword argument:
val -- New address value"""
if val is None:
self._address = val
return self

if isinstance(val, dict):
obj = processout.SubmerchantAddress(self._client)
obj.fill_with_data(val)
self._address = obj
else:
self._address = val
return self

@property
def tax_reference(self):
"""Get tax_reference"""
return self._tax_reference

@tax_reference.setter
def tax_reference(self, val):
"""Set tax_reference
Keyword argument:
val -- New tax_reference value"""
self._tax_reference = val
return self

@property
def service_establishment_number(self):
"""Get service_establishment_number"""
return self._service_establishment_number

@service_establishment_number.setter
def service_establishment_number(self, val):
"""Set service_establishment_number
Keyword argument:
val -- New service_establishment_number value"""
self._service_establishment_number = val
return self

def fill_with_data(self, data):
"""Fill the current object with the new values pulled from data
Keyword argument:
data -- The data from which to pull the new values"""
if "id" in data.keys():
self.id = data["id"]
if "name" in data.keys():
self.name = data["name"]
if "reference" in data.keys():
self.reference = data["reference"]
if "mcc" in data.keys():
self.mcc = data["mcc"]
if "phone_number" in data.keys():
self.phone_number = data["phone_number"]
if "email" in data.keys():
self.email = data["email"]
if "address" in data.keys():
self.address = data["address"]
if "tax_reference" in data.keys():
self.tax_reference = data["tax_reference"]
if "service_establishment_number" in data.keys():
self.service_establishment_number = data["service_establishment_number"]

return self

def to_json(self):
return {
"id": self.id,
"name": self.name,
"reference": self.reference,
"mcc": self.mcc,
"phone_number": self.phone_number,
"email": self.email,
"address": self.address,
"tax_reference": self.tax_reference,
"service_establishment_number": self.service_establishment_number,
}
Loading