On-board a customer account for gateway payments
REST API
Create a customer account for a gateway business customers using Rest API requests in the following order:
It is required to provide mandatory details for Address, Phone Number and Email Address when creating customer using POST Create Customer. They will be created as the preferred address, phone number and email address accordingly
POST https://<ServerURL>/CustomerServices/v1.0/customers
Recurring schedules are not applicable for Gateway Billing accounts, hence do not use the recurringSchedules
object in the request.
POST https://<ServerURL>/CustomerServices/v1.0/accounts
3. Create PaymentMethod using the widget.
<script src="https://oc.debitsuccess.com/dswidget/dsPaymentFormWidget.js"></script>
Create one-off schedules as and when needed.
SOAP API
When signing up a new customer you will generally use the PostCustomerAccount to create an account and GetPaymentToken to capture the payment details. The PostCustomerAccount also allows you to capture the bank account number and credit card details. However, it is recommended to use GetPaymentToken to adhere to PCI Compliance.
1. Create a customer account
For the PostCustomerAccount message you will need to capture the following information:
Customer Information
Title, FirstName, MiddleName, LastName - Customer name
DateOfBirth
At least one address (Billing or Physical)
At least one phone number (Home, Business, Mobile - ideally mobile)
EmailAddress
Contract Information
DateAccountStarted
Date that the customer wants their account to start. This is the date the customer will be charged the establishment fee if there is oneTermType
Months or PaymentsTerm
Length in month or payments, this will be 0 for gateway accounts as there is no term that Debitsuccess managesFixedTerm
Set to false as there is no term
Payment Structure
In general, for gateway accounts, there will be no schedules created when the account is created, but if you know the initial payment you can create the first schedule using the following fields:
InitialOneOffScheduleDescription
InitialOneOffScheduleInstalment
InitialOneOffScheduleStartDate
InitialScheduleExternalIdentifier
Client Information
AccountCountry
The country that the business is operating in. The bank account number will be validated using this country to choose the validation rulesContractPrefix
An identifier for your business that you will be given along with your web service credentials
Other useful fields
AccountCode
When loading an account via any Debitsuccess channel you can specify an Account Code, Account Code can be used for different purposes but the intention is that it will be a code that indicates what type of membership a customer has signed up for or what type of product a customer is buying.
AccountCode is returned when you retrieve account details using one of the GetCustomerAccount messagesExternalAccountReferenceNo
If you have your own unique reference for a customer account you can provide that here and use this value when retrieving or updating accounts subsequentlyWaiveEstFee
If your business has been configured to charge establishment fees to the customer you can choose to override this by passing true in this field, if you do this the establishment fee will be charged back to your business instead of the customer.
Sample Request Message
Account created without any schedules.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:deb="Debitsuccess.WebServices.WCF" xmlns:deb1="http://schemas.datacontract.org/2004/07/Debitsuccess.WebServices.Core">
<soapenv:Header/>
<soapenv:Body>
<deb:PostCustomerAccount>
<deb:request>
<deb1:User>
<deb1:Password>testPassword</deb1:Password>
<deb1:Username>testUser</deb1:Username>
</deb1:User>
<deb1:AccountCountry>Australia</deb1:AccountCountry>
<deb1:ContractPrefix>testCP</deb1:ContractPrefix>
<deb1:DateAccountStarted>2020-12-01</deb1:DateAccountStarted>
<deb1:DateOfBirth>1990-01-01</deb1:DateOfBirth>
<deb1:EmailAddress>Test@Test.com</deb1:EmailAddress>
<deb1:FirstName>Test</deb1:FirstName>
<deb1:FixedTerm>false</deb1:FixedTerm>
<deb1:Gender>Male</deb1:Gender>
<deb1:LastName>Test</deb1:LastName>
<deb1:MiddleName>Test</deb1:MiddleName>
<deb1:MobileCountryCode>Aus</deb1:MobileCountryCode>
<deb1:MobileNumber>12345678</deb1:MobileNumber>
<deb1:MobileSTD>04</deb1:MobileSTD>
<deb1:PhysicalAddress>Address line 1</deb1:PhysicalAddress>
<deb1:PhysicalCity>Sydney</deb1:PhysicalCity>
<deb1:PhysicalCountry>Australia</deb1:PhysicalCountry>
<deb1:PhysicalLocality>Address line 2</deb1:PhysicalLocality>
<deb1:PhysicalPostcode>12345</deb1:PhysicalPostcode>
<deb1:PhysicalState>NewSouthWales</deb1:PhysicalState>
<deb1:PhysicalSuburb>Bankstown</deb1:PhysicalSuburb>
<deb1:Term>0</deb1:Term>
<deb1:TermType>Payments</deb1:TermType>
<deb1:Title>Mr</deb1:Title>
</deb:request>
</deb:PostCustomerAccount>
</soapenv:Body>
</soapenv:Envelope>
Sample Response Message
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<ActivityId CorrelationId="b8ffd96a-b17f-4f2c-9acc-32d95de73178" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">00000000-0000-0000-0000-000000000000</ActivityId>
</s:Header>
<s:Body>
<PostCustomerAccountResponse xmlns="Debitsuccess.WebServices.WCF">
<PostCustomerAccountResult xmlns:a="http://schemas.datacontract.org/2004/07/Debitsuccess.WebServices.Core" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:DateCreated>2020-06-05T15:58:53.8188253+12:00</a:DateCreated>
<a:Id>26d94fc7-0f07-4358-8db2-27125780da59</a:Id>
<a:ResponseNotes>
<a:ResponseMessageNote>
<a:Code>00</a:Code>
<a:Note>Success</a:Note>
<a:NoteType>Info</a:NoteType>
</a:ResponseMessageNote>
</a:ResponseNotes>
<a:Status>Succeed</a:Status>
<a:AccountReferenceNo>test888932</a:AccountReferenceNo>
<a:ExternalAccountReferenceNo>test888932</a:ExternalAccountReferenceNo>
</PostCustomerAccountResult>
</PostCustomerAccountResponse>
</s:Body>
</s:Envelope>
2. Capture payment details
Once the customer account is created you can use GetPaymentToken to get a unique URL for a form where the customer can complete their payment details (bank account or credit card number). See an example of GetPaymentToken call.
Related Articles
-
-
-
-
-
-
GetPaymentToken — Retrieves a token and a URL that allows you to redirect the customer to a form to either capture new payment details (bank account or credit card) or process a real-time payment.
-
PostCustomerAccount — Allows customer and account details to be loaded into the Debitsuccess system for billing. This call can also be used to create B2B (business) type accounts.
On this page:
© 2021 Debitsuccess. All rights reserved