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:
- File interface - Recurring Batch
- Client (you) facing web interface - Recurring Terminal
- Client (you) facing API - QuickStream REST API
- 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.
Implementing recurring batch
To implement Recurring Batch:
- Build the ability to produce the customer upload request file from your systems.
- Build the ability to consume the customer upload response file in your systems.
- Optionally build the ability to consume the payment response file in your systems.
- Define a group email address to send notifications about file processing to.
- Configure notification types for us to send to your customers.
- Perform testing in our Test environment.
- Provide sign-off on your testing.
- Transition into your Production environment (Go live).
- Perform live testing in our Production environment.
- 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:
- Provide the Customer Number only. QuickStream will use the default account: Account Token ABC which references the card account ending in 242.
- 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:
- 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.
- 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.
|
Yes | 1 | 100 | Case-sensitive. Numbers and letters only. | CUSTOMER1 |
SupplierBusinessCode | The supplier business to use when making the transactions.
|
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:
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 |
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:
|
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.
|
No | 6 | 100 | Case-sensitive. Numbers, letters, underscores and hyphens only. | 123456789 |
AccountStatus | The status of the account. Disabling an account will:
|
No | 6 | 7 | One of:
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 . |
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.
|
Yes when creating a Recurring Payment and the status = ENABLE |
10 | 10 | A value date in the format dd MMM yyyy .
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:
|
WEEKLY |
ScheduleType | A code describing the type of recurring payment schedule. | Yes | 7 | 33 | One of:
|
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 .
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 inddMMyyyyHHmmss
format. For example, if the file was created on 15 June 2016 at 05:13:52PM you will represent this as15062016171352
.
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
|
CustomerNumber | Unique customer number.
|
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:
|
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.
|
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 inddMMyyyyHHmmss
format. For example, if the file was created on 15 June 2016 at 05:14PM we will represent this as15062016171400
.
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.
- For a file with all card payments, this will generally be straight away as cards are processed in real-time.
- For a file with bank account payments, this will be received after the cut-off times for bank account payment processing.
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
|
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:
|
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:
- Sign into QuickStream Portal
- Click Administration -> Transactions and Reports -> Facility Reports
- 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.