Skip to main content

Recurring batch

Recurring Batch is a file interface to the QuickStream Recurring functionality. Recurring Batch allows you to manage aspects of your customers Recurring Payments by sending in a Customer upload request file.

The purpose of this document is to describe the Recurring solution and explain how it can integrate with an external system. High level requirements as well as detailed step-by-step instructions are included to help with the implementation process.

The intended audience for this document is the software development team responsible for integrating their systems with Recurring.

What is recurring?

QuickStream has four interfaces to standard recurring payment functions:

  1. File interface - Recurring Batch
  2. Client (you) facing web interface - Recurring Terminal
  3. Customer (your customer) facing web interface - QuickWeb Recurring
  4. Administration interface - QuickStream Portal

The recurring payment functions in QuickStream are collectively known as Recurring.

A recurring payment is a payment made in regular instalments according to a predefined schedule. You can define the regular instalment amount and define a schedule. A schedule has:

  • a type, which defines when to conclude the schedule, and
  • a frequency which defines how often the regular instalment is taken from your customer.

What is recurring batch?

Recurring Batch is a file interface to the QuickStream Recurring functionality. You send details of your customers and their recurring payment from your system to QuickStream. QuickStream then automatically takes card or bank account payments from your customers according to your schedules.

Recurring Batch Summary

Implementing recurring batch

To implement Recurring Batch:

  1. Build the ability to produce the customer upload request file from your systems.
  2. Build the ability to consume the customer upload response file in your systems.
  3. Optionally build the ability to consume the payment response file in your systems.
  4. Optionally build the ability to consume the customer snapshot file in your systems.
  5. Define a group email address to send notifications about file processing to.
  6. Configure notification types for us to send to your customers.
  7. Perform testing in our Test environment.
  8. Provide sign-off on your testing.
  9. Transition into your Production environment (Go live).
  10. Perform live testing in our Production environment.
  11. Roll out Recurring Batch into your business processes.

During testing, refer to:

After you have completed testing you must send a sign off email to your Westpac contacts. The email will state that you have successfully tested all aspects of the solution and you are ready for it to be moved into production. See a sample sign-off email.

During production lodgement:

In addition to those tasks:

  • Change your configuration to upload Customer upload request files to the Production environment. This is done via iLink.
  • Change your configuration to receive files from our Production environment to your Production environment:
    • Customer upload response file
    • Payment response file (if required for your solution)
    • Customer snapshot file (if required for your solution)
  • Set up additional users in QuickStream Portal.
  • Set up your business details in QuickStream Portal.
  • Set up surcharge details in QuickStream Portal.

You must also test the end to end solution in production using a few small value transactions. This test will take a number of days to complete and will test all of your card merchants and bank account facilities.

Once production lodgement is complete and you are satisfied with the results of your low value tests in production you are ready to go live. The term "go live" represents the date you will make the solution available to your customers.

At this stage of the implementation process there are only a few tasks left to complete. They are:

  • Before the go live date, communicate with your customers to inform them about the new payment process.
  • On the go live date, direct your customer-facing phone number or call-centre process to the QuickVoice phone number you were allocated to make the new solution available to your customers.

After you go live, Qvalent and Westpac will closely monitor the solution. This is known as the "monitoring phase" and lasts for two weeks. During this time, if you have any questions or concerns about the solution you should communicate directly with your Qvalent implementation manager.

Once the two week monitoring phase is over the implementation process is officially complete. This is the post implementation period. Your Qvalent implementation manager will hand the solution over to the Qvalent helpdesk. The helpdesk will be responsible for day to day monitoring of the solution and resolving any issues that occur.

If you have any questions or concerns about the solution at this point contact the helpdesk: Technical support and system health.

See also:

Recurring concepts

See Recurring payment schedules for more information about the concepts of recurring payment schedules.

QuickVault integration

You can use QuickVault with QuickBatch Recurring.

Use QuickVault accounts as the recurring payment account

Your facility must have QuickVault enabled.

For customers with accounts registered via QuickVault, you can use the Customer Number and/or Account Token to transact on those accounts. This means you do not need to enter the account details into the rest of the Account fields.

Example 1

Your customer is registered with Customer Number 12345, and has 1 account:

  • Credit card account ending in 242.

If this account is set as the default account in QuickStream Portal, then you do not need to provide any account details. QuickStream will know to use the default account for a new or updated Recurring Payment.

Example 2

Your customer is registered with Customer 12345 and has 2 accounts.

  • Account Token ABC references the card account ending in 242. This account is set as the default account in QuickStream Portal.
  • Account Token XYZ references the bank account with BSB 032-002 and account number ending in 465.

You can choose an account to use in a QuickBatch Recurring file in two ways:

  1. Provide the Customer Number only. QuickStream will use the default account: Account Token ABC which references the card account ending in 242.
  2. Provide the Customer Number and Account Token XYZ. QuickStream uses the Account Token XYZ which references the bank account with BSB 032-002 and account number ending in 465.

Register account details in QuickVault

Your facility must have QuickVault enabled.

You can register a card or bank account as a QuickVault account using this file.

To do this:

  1. Do not provide an Account Token. QuickStream will generate an Account Token for you. QuickStream registers the account for your customer and generates an Account Token.
  2. If an account already exists with the same account number, QuickStream disables that account. This will free up the old Account Token. QuickStream registers the new account details under that free Account Token.

Customer upload request file

The Customer Upload Request File is a comma-separated value (CSV) file. The following tables describes the fields in the file format. Each table represents a logical section of fields on a single row.

Customer details

The following fields can be used to send only customer details into QuickStream.

Column Heading Description Mandatory Min Length Max Length Field Validation Sample Value
CustomerNumber Unique customer number.
  • If the customer number exists, the customer details will be updated to the values in this file.
  • If the customer number does not exist, a new customer will be created.
Yes 1 100 Case-sensitive. Numbers and letters only. CUSTOMER1
SupplierBusinessCode The supplier business to use when making the transactions.
  • Each supplier business may have their own corresponding merchant ID or direct entry ID.
  • Can be left blank to use a default supplier business.
No 1 100 Case-sensitive. Numbers and letters only. SUPPLIER1
CustomerName The customer name. This can be the name of an individual or business. Yes 1 100 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. John's Cakes
CustomerStatus The status of the customer. Disabling a customer will also disable the customers:
  • Accounts
  • Recurring payments
Accounts that are disabled cannot be used for payment. Recurring payments that are disabled are will not take payments.
Be mindful if you have other QuickStream processes that rely on a customers, their accounts and recurring payments being enabled.
Yes 6 7 One of:
  • ENABLE
  • DISABLE
ENABLE
EmailAddress The customer's contact email address. No 5 128 A valid email address. john@johnscakes.biz.au
PhoneNumber The customer's contact phone number.
Where your solution requires notifications to the customer via SMS, this phone number must be a mobile phone number.
No 10 12 A valid phone number including the area code, and optionally the country code prefixed by a +.
For example, +61xxxxxxxxx, 0xxxxxxxxx.
+61421559774
AddressLine1 The first line of the customer's address. No 3 128 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. Unit 11
AddressLine2 The second line of the customer's address. No 3 128 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. Level 31
AddressLine3 The third line of the customer's address. No 3 128 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. Building A
AddressLine4 The fourth line of the customer's address. No 3 128 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. Sunset Blvd
City The city name of the customer's address. No 3 128 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. Sydney
State The state of the customer's address.
For non-Australian addresses, we recommend you do not provide a value.
No 2 3 For Australian addresses, we recommend you use one of the following state codes ACT, NSW, QLD, NT, SA, WA, TAS, VIC. NSW
PostalCode The postal code of the customer's address. No 4 4 Numbers only. 2000
Country The country code of the customer's address No 2 2 The two character ISO country code AU
PreferredNotificationMedium The preferred notification medium for the customer. No 3 11 One of:
  • EMAILANDSMS
  • EMAIL
  • SMS
  • NONE
EMAIL
Example: create a new customer
"CustomerNumber","SupplierBusinessCode","CustomerName","CustomerStatus","EmailAddress","PhoneNumber","AddressLine1","AddressLine2","AddressLine3","AddressLine4","City","State","PostalCode","Country","PreferredNotificationMedium"

--All information--
"JOHNSMITH","SUPPLIER1","John B. Smith","ENABLE","jsmith@customer.com","+61421559774","Unit 11","Level 31","Building A","Sunset Blvd",Sydney","NSW","2000","AU","EMAIL"

--Minimum required information--
"JANESMITH","SUPPLIER1","Jane Henrietta Smith","ENABLE","jsmith@customer.com","","","","","","","","","",""

--New Zealand Street address--
"JOHNDOE","SUPPLIER1","John Doe","ENABLED","j.doe@customer.com","1800 726 333","445 Mount Eden Road","","Mount Eden","","Auckland","","0592","NZ","EMAILANDSMS"

--USA Street address--
"13455A12","SUPPLIER1","Mary Doe","ENABLED","marysdoe@customer.com","","MEGASYSTEMS INC","799 E DRAGRAM","SUITE 5A","","TUCSON","","85705","USA","SMS"
Example: modifying customer details
"CustomerNumber","SupplierBusinessCode","CustomerName","CustomerStatus","EmailAddress","PhoneNumber","AddressLine1","AddressLine2","AddressLine3","AddressLine4","City","State","PostalCode","Country","PreferredNotificationMedium"
--Was--
"JOHNSMITH","SUPPLIER1","John B. Smith","ENABLE","jsmith@customer.com","+61421559774","Unit 11","Level 31","Building A","Sunset Blvd",Sydney","NSW","2000","AU","EMAIL"
--Edit customer details--
"JOHNSMITH","SUPPLIER1","John B. Smith","ENABLE","jsmith@customer.com.au","+61421559774","Unit 11","Level 31","","Sunset Blvd",Sydney","NSW","2000","AU","EMAIL"
Example: disabling a customer

Disabling a customer will:

  • Stop all current recurring payments for the customer.
  • Disable all accounts for the customer.
"CustomerNumber","SupplierBusinessCode","CustomerName","CustomerStatus","EmailAddress","PhoneNumber","AddressLine1","AddressLine2","AddressLine3","AddressLine4","City","State","PostalCode","Country","PreferredNotificationMedium"
"JOHNSMITH","SUPPLIER1","John B. Smith","DISABLE","jsmith@customer.com","+61421559774","Unit 11","Level 31","Building A","Sunset Blvd",Sydney","NSW","2000","AU","EMAIL"

Customer accounts

The following fields can be used to send only customer and account details into QuickStream. Account details may be registered in QuickStream via QuickVault if it is enabled on your facility.

Note: You must append the following fields to those in the Customer Details section.

Column Heading Description Mandatory Min Length Max Length Field Validation Sample Value
AccountToken The QuickVault account token.
  • If the Account Token is blank:
    • If a new account is supplied, then QuickStream will register the new account with a generated Account Token, and this will be reported in the Customer upload response file.
    • If the account details match an existing account, QuickStream will use the updated account.
  • If the Account Token is supplied:
    • If an account with this Account Token exists, then QuickStream will update the account with the supplied Account Name and/or Expiry Date.
    • If an account with this Account Token does not exist, the field will be in error.
No 6 100 Case-sensitive. Numbers, letters, underscores and hyphens only. 123456789
AccountStatus The status of the account.
Disabling an account will:
  • Stop any recurring payments using this account from running
  • Stop the account from being used for any payments.
Be mindful if you have other QuickStream processes that rely on a customer accounts being enabled.
No 6 7 One of:
  • ENABLE
  • DISABLE
  • If you do not provide a value, it will default to ENABLE.
ENABLE
AccountName For a card account, this is the Cardholder Name.
For a bank account, this is the Account Holder Name.
Yes when Status = ENABLE 3 128 Numbers, letters, underscores, apostrophes, ampersands, periods and hyphens only. John Smith
CreditCardNumber The card number. Yes for card accounts. 13 16 Valid card number for the card scheme enabled in your facility. 4242424242424242
ExpiryDate The expiry date. Yes for card accounts. 6 6 An expiry date in format MMyyyy where MM is the two digit month, and yyyy is the four digit year.
For example, January 2019 is represented as 012016.
012019
BSBNumber The BSB number. Yes for bank accounts. 6 7 A valid BSB in the format BBS-BBB. 032-002
AccountNumber The bank account number. Yes for bank accounts. 6 9 A valid bank account number. 123465

Additional considerations: If the customer number does exist, and the customer has a default account, then the default account will be used for recurring payment accounts. That is, if the customer has a default account, then the default account will be used for recurring payments when no account details are provided.

Example: creating a new account
"AccountToken","AccountStatus","AccountName","CreditCardNumber","ExpiryDate","BSBNumber","AccountNumber"

-- New Card Account --
"","ENABLE","John Smith","4242424242424242","012019","",""

-- New Bank Account --
"","ENABLE","John B. Smith","","","032-002","123465"
Example: modifying an account
"AccountToken","AccountStatus","AccountName","CreditCardNumber","ExpiryDate","BSBNumber","AccountNumber"
-- Was (No Account Token) --
"","ENABLE","John Smith","4242424242424242","012019","",""

-- Now (In this scenario, the account will be registered as a new account.) --
"","ENABLE","John Smith","4444333322221111","012020","",""
Example: updating an expiry date
"AccountToken","AccountStatus","AccountName","CreditCardNumber","ExpiryDate","BSBNumber","AccountNumber"
-- Was (No Account Token) --
"","ENABLE","John Smith","4242424242424242","012019","",""

-- Now --
"","ENABLE","John Smith","4242424242424242","012020","",""

-- Was (QuickVault Account with Account Token ABC) --
"ABC","ENABLE","John Smith","4242424242424242","012019","",""

-- Now (In this scenario, only the expiry date will be updated) --
"ABC","ENABLE","","","012020","",""
Example: updating an account name
"AccountToken","AccountStatus","AccountName","CreditCardNumber","ExpiryDate","BSBNumber","AccountNumber"
-- Was (No Account Token) --
"","ENABLE","John Smith","4242424242424242","012019","",""

-- Now --
"","ENABLE","John B. Smith","4242424242424242","012019","",""

-- Was (QuickVault Account with Account Token ABC) --
"ABC","ENABLE","John Smith","4242424242424242","012019","",""

-- Now (In this scenario, only the account name will be updated) --
"ABC","ENABLE","John B. Smith","","","",""
Example: disabling an account
"AccountToken","AccountStatus","AccountName","CreditCardNumber","ExpiryDate","BSBNumber","AccountNumber"
-- Was --
"ABC","ENABLE","John Smith","4242424242424242","012019","",""

-- Now (Disable by account token) --
"ABC","DISABLE","","","","",""

-- Now (Disable by card number) --
"","DISABLE","","4444333322221111","","",""

Customer recurring payments

The following fields can be used to send customer and recurring payment details into QuickStream.

Note: You must append the following fields to those in the Customer Details section and the Customer accounts section.

Column Heading Description Mandatory Min Length Max Length Field Validation Sample Value
PaymentScheduleId A unique identifier for the recurring payment schedule. Yes 1 100 Case-sensitive. Numbers, letters, underscores and hyphens only. 12345678
PaymentScheduleStatus The status of the recurring payment schedule. Disabling a recurring payment will stop the recurring payment schedule. Be mindful if you have other QuickStream processes that rely on customer recurring payments being enabled. Yes 4 7 One of:
  • ENABLE
  • DISABLE
If you do not provide a value, it will default to ENABLE.
ENABLE
PaymentPlanCode The unique identifier for a payment plan. Use this to create a recurring payment schedule based on the payment plan.
NextPaymentDate The date of the next payment on the schedule.
  • If the recurring payment schedule exists, the next payment date will be adjusted to this value.
  • If the recurring payment schedule exists, you do not need to provide the next payment date.
  • If the recurring payment schedule does not exist, the first payment will be taken on this date.
  • If the next payment date is set to today or in the past, the first payment will be taken immediately.
  • NextPaymentDate cannot be:
    • more than one year in the future for all frequencies
    • one month or more in the past for all frequencies
    • one week/fortnight or more in the past for weekly/fortnightly frequencies respectively
    • earlier than current date for daily frequency
Yes when creating a Recurring Payment and the status = ENABLE 10 10 A value date in the format dd MMM yyyy.
  • dd is the day of month.
  • MMM is the three character month abbreviation.
  • yyyy is the four digit year.
For example, 01 January 2016 is represented as 01 Jan 2016
01 Aug 2016
Frequency The frequency of the recurring payment schedule. This is the frequency that the regular payment amount will be attempted as a transaction. Yes 5 11 One of:
  • DAILY
  • WEEKLY
  • FORTNIGHTLY
  • MONTHLY
  • QUARTERLY
  • SIXMONTHLY
  • YEARLY
WEEKLY
ScheduleType A code describing the type of recurring payment schedule. Yes 7 33 One of:
  • ONE_OFF
  • CONTINUE_UNTIL_FURTHER_NOTICE
  • STOP_AFTER_SET_NUMBER_OF_PAYMENTS
  • STOP_AFTER_SET_AMOUNT
  • CONTINUE_UNTIL_DATE
CONTINUE_UNTIL_DATE
RegularPaymentAmount The regular amount payment for the schedule.
If your facility has card surcharges configured, then this value is the principal payment amount. QuickStream will calculate and apply a surcharge on top of this amount if applicable.
Yes 4 10 A non-zero, positive dollar amount in the format 0.00.
For example, 0.01, 1.01, 10.00, 100.50, 1000.75, 100000.00 etc.
The default maximum payment amount is 100000.00. You can change this against your facility.
100.50
TotalNumberOfPayments The number of payments on the payment schedule for schedule types STOP_AFTER_SET_NUMBER_OF_PAYMENTS. Yes when ScheduleType = STOP_AFTER_SET_NUMBER_OF_PAYMENTS 1 3 A non-zero positive number . The maximum number is 999. 15
TotalSchedulePaymentAmount The total payment amount of the schedule for schedule type STOP_AFTER_SET_AMOUNT. Yes when ScheduleType = STOP_AFTER_SET_AMOUNT 4 10 A non-zero, positive dollar amount in the format 0.00. For example, 10.00, 100.50, 1000.75, 100000.00 etc.
The total schedule amount cannot be less than the amount in RegularPaymentAmount.
The total schedule amount cannot be greater than RegularPaymentAmount * 999 payments.
For example, if your Regular Payment Amount is 10.00, then the total schedule amount cannot be greater than 10.00 * 999 = 9990.00.
1000.00
ScheduleEndDate The last payment date of the schedule for schedule type CONTINUE_UNTIL_DATE. Yes when ScheduleType = CONTINUE_UNTIL_DATE 10 10 A value date in the format dd MMM yyyy.
  • dd is the day of month.
  • MMM is the three character month abbreviation.
  • yyyy is the four digit year.
For example, 01 January 2016 is represented as 01 Jan 2016
01 Jan 2019
Example: creating a new recurring payment
"PaymentScheduleId","PaymentScheduleStatus","NextPaymentDate","Frequency","ScheduleType","RegularPaymentAmount","TotalNumberOfPayments","TotalSchedulePaymentAmount","ScheduleEndDate"
-- Daily One off schedule --
"123456781","ENABLE","01-06-2016","MONTHLY","ONE_OFF","50.00","","",""

-- Weekly Continue until further notice schedule --
"123456782","ENABLE","01-06-2016","MONTHLY","CONTINUE_UNTIL_FURTHER_NOTICE","50.00","","",""

-- Monthly Stop after set number of payments schedule --
"123456782","ENABLE","01062016","MONTHLY","STOP_AFTER_SET_NUMBER_OF_PAYMENTS","50.00","5","",""

-- Quarterly Stop after set amount schedule --
"123456782","ENABLE","01-06-2016","QUARTERLY","STOP_AFTER_SET_AMOUNT","50.00","","175.00",""

-- Yearly Continue until date --
"123456782","ENABLE","01-06-2016","YEARLY","CONTINUE_UNTIL_DATE","50.00","","","30-06-2019"
Example: modifying a recurring payment
"PaymentScheduleId","PaymentPlanCode","PaymentScheduleStatus","NextPaymentDate","Frequency","ScheduleType","RegularPaymentAmount","TotalNumberOfPayments","TotalSchedulePaymentAmount","ScheduleEndDate"
-- Was a Daily schedule --
"123456781","","ENABLE","01-06-2016","DAILY","CONTINUE_UNTIL_FURTHER_NOTICE","50.00","","",""

-- Now a Weekly schedule --
"123456781","","ENABLE","01-06-2016","WEEKLY","CONTINUE_UNTIL_FURTHER_NOTICE","50.00","","",""
Example: stopping a recurring payment
"PaymentScheduleId","PaymentPlanCode",,"PaymentScheduleStatus","NextPaymentDate","Frequency","ScheduleType","RegularPaymentAmount","TotalNumberOfPayments","TotalSchedulePaymentAmount","ScheduleEndDate"
"123456781","","DISABLE","01-06-2016","DAILY","CONTINUE_UNTIL_FURTHER_NOTICE","50.00","","","
Example: changing the next payment date for the recurring payment
"PaymentScheduleId","PaymentPlanCode",,"PaymentScheduleStatus","NextPaymentDate","Frequency","ScheduleType","RegularPaymentAmount","TotalNumberOfPayments","TotalSchedulePaymentAmount","ScheduleEndDate"
-- Was 1st June 2016 ---
"123456781","","DISABLE","01-06-2016","DAILY","CONTINUE_UNTIL_FURTHER_NOTICE","50.00","","",""

-- Now 1st June 2017 ---
"123456781","","DISABLE","01-06-2017","DAILY","CONTINUE_UNTIL_FURTHER_NOTICE","50.00","","",""

File naming

There's no set standard for naming the Customer upload request file. However to assist in preventing file duplication, we recommend the following format:

[CommunityCode]_CUSTOMERUPLOAD_[ddMMyyyyHHmmss].csv

  • [CommunityCode] is a value provided by QuickStream. You can find this in QuickStream Portal in the upper right underneath the navigation menu.
  • [ddMMyyyyHHmmss] is the date and time the file was created by your systems in ddMMyyyyHHmmss format. For example, if the file was created on 15 June 2016 at 05:13:52PM you will represent this as 15062016171352.

For example, if your community code is MYCOMPANY, and your systems created the file on 15 June 2016 at 05:13PM, then the file name is

MYCOMPANY_CUSTOMERUPLOAD_15062016171352.csv

Customer upload response file

On receipt of a Customer upload request file, QuickStream will process the file line by line. As it encounters any errors, the process will save them up. Once the request file has finished processing, the success or error for each line are reported in a Customer upload response file.

A Customer upload response file is received for each Customer upload request file.

Email address for processing notifications

During your Westpac implementation project, please let your Qvalent resource know the group email address you wish to have processing notifications sent to. When a file was successfully processed, an email will be sent to this address. When a file was not successfully processed, an email will be sent to this address.

Successful processing

A line in the Customer upload response file is successful when the field 'Response' is SUCCESS. An email is sent to a group email address notifying you of the number of successful lines in the file.

Error processing

A line in the Customer upload response file is unsuccessful when the field 'Response' is ERROR. An email is sent to a group email address notifying you of the number of errored lines in the file, along with a report of the error. The report contains the line number, field name, provided value and error message.

Handling errors

On receipt of a Customer upload response file, only the lines listed were not processed. You must: Find and fix the errors listed in the Customer upload response file.

Submit a new file containing only those lines with the updated values as a Customer upload request file.

File format

The customer upload response file is a comma-separated value (CSV) file. The following table describes the fields in the file format. It is largely the same as the Customer upload request file, however a Response field indicates the status processing status of each line in the file.

Column Heading Description
Response The response indicates the processing status of a line. This can be one of
  • SUCCESS
  • ERROR
Take note:
  • SUCCESS indicates the customer, their account and recurring payment on the line were successfully created. The details on the line returned in this file represent the data stored in QuickStream.
  • ERRORindicates an error occurred during processing of the line. The details on the line returned in this file represent the data sent in by the Customer upload request file. Any error is described in the accompanying email. To process a line with an ERROR response successfully, you must fix the errors in the line and submit only those ERROR lines in a new Customer upload request file.
CustomerNumber Unique customer number.
  • If the customer number exists, the customer details will be updated to the values in this file.
  • If the customer number does not exist, a new customer will be created.
SupplierBusinessCode The supplier business.
CustomerName The customer name. This can be the name of an individual or business.
CustomerStatus The status of the customer.
EmailAddress The customer's contact email address.
PhoneNumber The customer's contact phone number.Where your solution requires notifications to the customer via SMS, this phone number must be a mobile phone number.
AddressLine1 The first line of the customer's address.
AddressLine2 The second line of the customer's address.
AddressLine3 The third line of the customer's address.
AddressLine4 The fourth line of the customer's address.
City The city name of the customer's address.
State The state of the customer's address. For non-Australian addresses, we recommend you do not provide a value.
PostalCode The postal code of the customer's address.
PreferredNotificationMedium The preferred notification medium for the customer.
AccountToken The QuickVault account token.
AccountStatus The status of the account.Disabling an account will:
  • Stop any recurring payments using this account from running
  • Stop the account from being used for any payments.
Be mindful if you have other QuickStream processes that rely on a customer accounts being enabled.
AccountName For a card account, this is the Cardholder Name. For a bank account, this is the Account Holder Name.
CreditCardNumber The masked card number.
ExpiryDate The expiry date.
BSBNumber The BSB number.
AccountNumber The bank account number.
PaymentScheduleId A unique identifier for the recurring payment schedule.
PaymentScheduleStatus The status of the recurring payment schedule. Disabling a recurring payment will stop the recurring payment schedule.
Be mindful if you have other QuickStream processes that rely on customer recurring payments being enabled.
NextPaymentDate The date of the next payment on the schedule.
  • If the recurring payment schedule exists, the next payment date will be adjusted to this value.
  • If the recurring payment schedule does not exist, the first payment will be taken on this date.
  • If the next payment date is set to today or in the past, the first payment will be taken immediately.
Frequency The frequency of the recurring payment schedule. This is the frequency that the regular payment amount will be attempted as a transaction.
ScheduleType A code describing the type of recurring payment schedule.
RegularPaymentAmount The regular amount payment for the schedule. If your facility has card surcharges configured, then this value is the principal payment amount. QuickStream will calculate and apply a surcharge on top of this amount if applicable.
TotalNumberOfPayments The number of payments on the payment schedule for schedule types STOP_AFTER_SET_NUMBER_OF_PAYMENTS.
TotalSchedulePaymentAmount The total payment amount of the schedule for schedule type STOP_AFTER_SET_AMOUNT.
ScheduleEndDate The last payment date of the schedule for schedule type CONTINUE_UNTIL_DATE.

File naming

The Customer upload response file has a default naming standard of:

[CommunityCode]_CUSTOMERUPLOAD_RESPONSE_[ddMMyyyyHHmmss].csv

  • [CommunityCode] is a value provided by QuickStream. You can find this in QuickStream Portal in the upper right underneath the navigation menu.
  • [ddMMyyyyHHmmss] is the date and time the file was created by QuickStream in ddMMyyyyHHmmss format. For example, if the file was created on 15 June 2016 at 05:14PM we will represent this as 15062016171400.

For example, if your community code is MYCOMPANY and the response file was created on 15 June 2016 at 05:14PM, then the file name is

MYCOMPANY_CUSTOMERUPLOAD_RESPONSE_15062016171400.csv

You may request a different format for the response file.

Payment response file

On sending a Customer upload request file you may set the Recurring Payment field 'NextPaymentDate' to today's date (or a date in the past) to perform the first payment immediately. You may wish to reconcile this payment as soon as possible without having to wait for the Cash Applied File at the end of the day.

QuickStream can send a Payment response file. This file contains the response details for immediate transactions initiated by a Customer upload request file.

This file is sent immediately after we have received a response back from your customer's financial institutions.

Transaction details for your facility are reported for a settlement day in a Cash Applied File. As such, receiving a Payment response file is an optional feature. You must request this during your Westpac implementation project with your Qvalent resource.

File format

The Payment response file is a comma-separated value (CSV) file. The following table describes the fields in the file format.

Each line represents the response for a payment that was initiated by a Customer upload request file.

Field Name Description Sample Value
SettlementDate The settlement date of the transaction. A date in the format dd-MMM-yyyy where dd is the two digit day number, MMM is the three character month abbreviation and yyyy is the four digit year number. 01-Jan-2016
ReceiptNumber A unique transaction identifier. 886445114
SupplierBusinessCode A unique identifier for a business in your facility. YOURBUSINESS
PaymentScheduleId A unique identifier for the Recurring Payment this transaction was created from. 123456911
CustomerNumber A unique identifier for a customer in the database. This transaction was for the customer. JOHN1
PaymentAmount The total payment amount including any surcharge amounts. 100.01
PrincipalAmount The principal portion of the payment amount. 100.00
SurchargeAmount The surcharge portion of the payment amount. 0.01
ResponseCode A two character response file indicating the status of the transaction. See Response codes for details. 08
ResponseDescription A short description about the response code. See Response codes for details. Honour with identification
SummaryCode A one digit code that indicates the response code describes a successful transaction, failed transaction or an errored transaction. See Response codes for details. 0
SoftDeclineCode A value of 1 indicates the transaction was a soft decline. A value of 0 indicates the transaction was a hard decline. See Response codes. 0
CardSchemeCode A code indicating the card scheme. This is one of
  • VI - VISA
  • MC - Mastercard
  • AX - American Express
  • DC - Diners Club
  • UP - Union Pay
MC
AccountName The account name. For card payments this is the card holder name. For bank account payments this is the bank account name. John Smith
CreditCardNumber The masked card number. A value is provided for card payments only. 424242...242
ExpiryDate The expiry date of the card in MMyyyy format.
For example, an expiry date of January 2019 is represented as 012019.
012019
BSBNumber The BSB number in format BSS-BBB. A value is provided for bank account payments only. 032-002
AccountNumber The bank account number. A value is provided for bank account payments only. 123465
CreatedDateTime The date and time the payment was created. A date in the format dd-MMM-yyyy HH:mm:ss where:
  • dd is the two digit day number
  • MMM is the three character month abbreviation
  • yyyy is the four digit year number
  • HH the hour is 24 hour time
  • mm is the two digit minute
  • ss is the two digit second
01-Jan-2016 13:44:01
SourceProduct Indicates the source of the payment. For payment initiated immediately by a Customer upload request file, this will always be a value of RECURRING. RECURRING

Sample file

TransactionDate,ReceiptNumber,SupplierBusinessCode,PaymentScheduleId,CustomerNumber,PaymentAmount,PrincipalAmount,SurchargeAmount,ResponseCode,ResponseDescription,SummaryCode,SoftDeclineCode,CardSchemeCode,AccountName,CreditCardNumber,ExpiryDate,BSBNumber,AccountNumber,CreatedDateTime,SourceProduct
23-Jun-2016,1191927015,YOURBUSINESS,123456781,JOHNSMITH,50.00,50.00,0.00,08,Honour with identification,0,0,VISA,John Smith,424242...242,012019,,,,RECURRING

Cash applied file

See Cash applied file for the file format.

The file may be retrieved using iLink or available for download in QuickStream Portal.

To download a Cash Applied File from QuickStream Portal:

  1. Sign into QuickStream Portal
  2. Click Administration -> Transactions and Reports -> Facility Reports
  3. Your report will appear on this page.

Select the download icon to retrieve a Cash Applied File. Use the date filters to find older files.

Customer snapshot file

You may wish to reconcile the customer details in QuickStream with the details stored in your system. This is helpful when changes are made to customer details, recurring payments or their accounts by other QuickStream products. For example, if you have QuickTerminal Recurring or QuickWeb Recurring then new schedules and accounts may have been created for your customers during a day.

QuickStream can send a Customer Snapshot File. This file contains all the details of your customers, their accounts and their recurring payments in QuickStream. This file is sent daily at 01:00 AEST, and contains a full listing of our customer database.

This is an optional feature and you must request this during your Westpac implementation project with your Qvalent resource.

See Customer Snapshot File.

Disclaimer

The information contained in this publication is provided for learning purposes only and is subject to change. Revisions may be issued from time to time that encompass changes or additions to this module.

This is a guide only and it is not comprehensive. It does not impinge on or overrule any formal arrangement you may enter into with the Bank. The Bank and its officers shall not have any liability for any losses of any kind incurred in connection with any action, inaction or decision taken in reliance on the information herein or for any inaccuracies, errors or omissions. In this publication references to the "Bank" are to Westpac Banking Corporation ABN 33 007 457 141 and to any of its operating Divisions, including BankSA and St.George.