Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

REST API

Create a customer account for an ongoing gym membership using RestFul API requests in the following order:

Drawio
zoom1
simple0
inComment0
pageId9851371811292342503
custContentId22064334022268954743
lbox1
diagramDisplayNamecreateaccountflow.drawio
contentVer1
revision1
baseUrlhttps://debitsuccess.atlassian.net/wiki
diagramNamecreateaccountflow.drawio
pCenter0
width12291170.99999999999985
links
tbstyle
height427.99999999999994428
  1. Create Customer

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

Tip

Status
colourBlue
titlePOST
https://<ServerURL>/CustomerServices/v1.0/customers

2. Create Account.

When you create an account you can specify up to three recurring schedules.

Tip

Status
colourBlue
titlePOST
https://<ServerURL>/CustomerServices/v1.0/accounts

3. Create PaymentMethod using the widget.

Tip

Status
colourBlue
titlePOST
<script src="https://<ServerURL>/CustomerServices/v1.0/customers/{customerId}/paymentMethods

4. Create Create Recurring Schedule

Tip

Status
colourBlue
titlePOST
https://<ServerURL>/CustomerServices/v1.0/accounts/{accountId}/recurringSchedules

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

oc.debitsuccess.com/dswidget/dsPaymentFormWidget.js"></script>

SOAP WS

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 the GetPaymentToken to adhere to PCI Compliance.

Step 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

  • Gender : Male , Female, Unknown

  • At least one address (Billing or Physical)

  • At least one phone number (Home, Business, Mobile - ideally mobile so that Debitsuccess can contact the customer via SMS if required)

  • 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 one)

  • TermType
    Months or Payments

  • Term
    Length in month or payments (depending on TermType), this can be set to 0 if there is no minimum term and the account is on-going (see FixedTerm below)

  • FixedTerm
    Set to false (for an on-going account that continues to bill past minimum term) 

Payment Structure

Recurring payment information:

  • RecurringScheduleStartDate

  • RecurringScheduleInstalment

  • RecurringScheduleFrequency

If there is a requirement to take an initial payment of a different value then a one-off schedule can also be set up using the following fields:

  • InitialOneOffScheduleDescription

  • InitialOneOffScheduleInstalment

  • InitialOneOffScheduleStartDate

  • InitialScheduleExternalIdentifier

Client Information

  • AccountCountry
    The country that the business is operating in

  • ContractPrefix
    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 messages

  • ExternalAccountReferenceNo
    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 subsequently

  • WaiveEstFee
    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

Initial payment of $10 followed by payments of $20 monthly ongoing (until the account is set to close down). On the account start date, the customer will be charged Establishment Fee + Initial payment.

Info

The customer will be outside the minimum term after they have made the 11 recurring payments because the recurring schedule starts 1 month after the account start date in the example.

Code Block
languagexml
<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:InitialOneOffScheduleDescription>Test</deb1:InitialOneOffScheduleDescription>
            <deb1:InitialOneOffScheduleInstalment>10</deb1:InitialOneOffScheduleInstalment>
            <deb1:InitialOneOffScheduleStartDate>2020-12-01</deb1:InitialOneOffScheduleStartDate>
            <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:RecurringScheduleFrequency>Monthly</deb1:RecurringScheduleFrequency>
            <deb1:RecurringScheduleInstalment>20</deb1:RecurringScheduleInstalment>
            <deb1:RecurringScheduleStartDate>2021-01-01</deb1:RecurringScheduleStartDate>
            <deb1:Term>12</deb1:Term>
            <deb1:TermType>Months</deb1:TermType>
            <deb1:Title>Mr</deb1:Title>
         </deb:request>
      </deb:PostCustomerAccount>
   </soapenv:Body>
</soapenv:Envelope>

Sample Response Message

The AccountReferenceNo should be saved if there was no external identifier for future reference in Debitsuccess systems.

Code Block
languagexml
<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>

Step 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.

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
excerptTypesimple
cqllabel in ( "getpaymenttoken" , "postcustomeraccount" )

On this page:

Table of Contents