Octane REST API
  1. Integration Guides
Octane REST API
  • Getting Started
    • API Access & Authentication
    • API Rate Limiting
  • Integration Guides
    • Payment Integration
    • CDR Integration
    • Test Environment Data Sets
    • Mobile Flows
      • Activate Postpaid Mobile (New MSN - Physical SIM)
      • Activate Postpaid (Port MSN - Physical SIM)
      • Activate Postpaid Mobile (New MSN - eSIM)
      • Activate Postpaid (Port MSN - eSIM)
      • Reset eSIM Profile
      • Mobile Data Pool Flow
    • ConnectYou Flows
      • ConnectYou Business SIP Trunk Activate Flow
      • ConnectYou Business SIP Trunk Reactivate Direct Indials Flow
      • ConnectYou Unite Calling Activate Flow
    • NBN Flows
      • NBN Activate Flow
      • NBN Plan Change Flow
      • NBN Termination Flow
      • NBN Reschedule Appointment Flow
      • NBN Withdraw Order Flow
      • Run NBN Diagnostic Test Flow
      • Run NBN Service Health Check Flow
  • API Documentation
    • Customer
      • Add Customer
      • Get Customer Detail
      • List Customers
      • Update Customer
      • Set Customer Direct Debit
      • Send Welcome Email
    • Payment Method
      • List Payment Methods
      • Add Payment Method
      • Update Payment Method
      • Delete Payment Method
    • Transaction
      • List Transactions
      • Make Payment
      • Add Misc Adjustment
      • List Bounced Transactions
    • Plan
    • Service
      • List Services for a Customer
      • Get Service Detail by LineSeqNo
    • Mobile
      • Notification
        • Get Notification Settings
        • Update Notification Settings
      • Get Data Pool
      • Update Data Limit
      • Transfer Services to Another Pool
      • Disconnect a Data Pool
      • Get eSIM Details
      • Manage eSIM
    • Address
      • Search for an Address
      • Search for an Address V2
    • Service Qualification
      • Perform Service Qualification Check
    • Order
      • v1
        • Create Order (NBN Activation)
        • Create Order (NBN Modification)
        • Create Order (NBN Disconnection)
        • Cancel (NBN Activation) Order
        • Get Order Detail (NBN)
        • List Orders (NBN)
    • Enquiry
      • Create Enquiry (NBN Diagnostic Test / Service Health Check)
      • Get Enquiry Detail
      • List Enquiries
    • Appointment
      • Query Appointment Timeslots
      • Book Appointment
    • NBN
      • Get Available Diagnostic Tests
    • Attachment
  • API Documentation (Legacy APIs)
    • WSDL Summary
    • API Guide
      • Account Charges
        • Add a Recurring Charge
        • Get Recurring Charge Details
        • Add a Manual Charge
      • ConnectYou
        • Create a Number Reservation
        • Get Available Numbers
        • queryResiEndPointService
        • Query a Business SIP Trunk Service
        • Get Zone Detail
        • Get Number Detail
      • Contact Log
        • Get Contact Log Types
        • Add a Contact Log
        • Update a Contact Log
        • Query Contact Logs
      • Device
        • getSupplierStockDetail
        • getSupplierProduct
        • getSupplierFreightOption
        • orderDevice
      • Mobile
        • Get Mobile Provisioning Product Catalogue
        • Query a Mobile Service
        • Query Mobile Add Ons
        • Query Mobile Feature Settings
        • Query Mobile Balance
      • Notifications
        • createNotification
        • notificationManageTemplate
      • Pooled Resource
        • Reserve a Resource
        • Unreserve a Resource
        • Select a Resource
        • Query Resource
      • Order
        • Mobile Order
          • Create a Mobile Service (New Number)
          • Create a Mobile Service (Port In Number)
          • Create a Pre-Activation Mobile Order (New Number)
          • Bar/Unbar/Disconnect a Mobile Service
          • Change Mobile Rate Plan
          • Change a Mobile Number
          • Replace a SIM Card
          • Modify Mobile Feature(s)
          • Modify Mobile Feature Setting(s)
          • Change Excess Spend Limit
          • Add a Once-off Bolt On
          • Add a Recurring Bolt On Pack
          • Remove a Recurring Bolt On Pack
        • Mobile (Data Pool) Order
          • Create a Data Pool
          • Add Consumers to Data Pool
          • Remove Consumers from Data Pool
        • ConnectYou (SIP Trunk) Order
          • Create a New Business SIP Trunk
          • Bar/Unbar International Calls on a Business SIP Trunk
          • Suspend Business SIP Trunk
          • Unsuspend Business SIP Trunk
          • Deactivate Business SIP Trunk
          • Port Numbers to a Business SIP Trunk
          • Configure Business SIP Trunk
        • Other Rated Order
          • Create an Other Rated Service
          • Change Access of an Other Rated Service
        • Create an Order
        • Cancel an Order
        • Query an Order
        • Reset an Order
      • Statements & Billing
        • Get a List of Customer Bills
        • Get Charge Item Detail for a Bill
        • Get a Single Bill PDF for a Customer
        • Get a Summary of a Bill
      • Unbilled Calls
        • Query Summary of Unbilled Calls & Charges
        • Query Detail of Unbilled Calls & Charges
      • OTP
        • Manage OTP (Get & Verify OTP)
    • Reference Data
  1. Integration Guides

Payment Integration

Overview#

Octane supports a PCI/DSS SAQ-A compliant solution for payment integration that will allow your business to automate payments, while keeping your customer data safe and secure.
Octane currently supports payments via Westpac's QuickStream platform and requires users to integrate through a mix of Octane's REST API suite and Westpac's Trusted Frame.
The guide below details steps required to Onboard with us to be able to user our APIs, as well as the integration requirements.

Payment API Onboarding Process#

1.
Raise a ticket in Assist indicating your intention to integrate with Octane's Payment APIs
2.
As part of fulfilment, you will be onboarded into the Westpac platform and provided with a Publishable API Key and Supplier Business Code to use with your TrustedFrame integration.
3.
You will also be provided with an Octane API Username and Password, if you haven't received that already.

Integration#

Integration Overview#

1.
Your server hosts a web page containing a form and quickstream-api.js
a. Test:
https://api.quickstream.support.qvalent.com/rest/v1/quickstream-api-1.0.min.js
b. Production: https://quickstream.westpac.com.au/docs/quickstreamapi/v1/quickstream-api-js/
2.
You call the init() method with your Publishable API key and createTrustedFrame() which creates a QuickStream iFrame for collecting card details.
3.
The User enters details into the iFrame, and then submits the card details securely to QuickStream.
4.
Single use token is generated by QuickStream and then sent back to your website.
5.
You can then use this Single-Use Token when calling Octane's Make Payment API (to take payment) or Add Payment Method API (to register the card for direct debit).

Example Flow (Make Payment)#

Example Flow (Setup Direct Debit)#

Detailed Steps#

Step 1 - Host Example Page#

You can use the sample code below to create a JS page in your code project, and host it on your server. Your Users will enter their Credit Card details on this page.
<html>
  <body>
    <!-- this form will POST a single use token to your server -->
    <form id="payment-form" action="/process-payment" method="post">
        <div data-quickstream-api="creditCardContainer"></div>
        <input id="make-payment-submit" type="submit" disabled="true"/>
    </form>
    <script src="https://api.quickstream.westpac.com.au/rest/v1/quickstream-api-1.0.min.js">
    </script>
    <script type="text/javascript">
        var submit = document.getElementById('make-payment-submit');
        QuickstreamAPI.init({
          publishableApiKey: "{publishableAPIKey}"
        });
        var trustedFrame;
        var options = {
          config: {
            supplierBusinessCode: "{supplierBusinessCode}"
          }
        };
        QuickstreamAPI.creditCards.createTrustedFrame(options, function(errors, data){
            trustedFrame = data.trustedFrame;
            if(errors){
              submit.disabled = true;
            } else {
              submit.disabled = false;
            }
        });
        var form = document.getElementById("payment-form");
        form.addEventListener("submit", function(event){
          event.preventDefault();
          trustedFrame.submitForm(function(errors, data){
            if(!errors){
              QuickstreamAPI.creditCards.appendTokenToForm(form, data.singleUseToken.singleUseTokenId);
              form.submit();
            }
          });
        });
    </script>       
  </body>
</html>
IMPORTANT
The URL shown in the snippet above is for the Production environment. To use QuickStream-API.js in the Support environment replace this URL with https://api.quickstream.support.qvalent.com/rest/v1/quickstream-api-1.0.min.js.
Please refer to the below page for more information on how to setup the Trusted Frame and different options for displaying this for Bank Accounts rather than Credit Cards - https://quickstream.westpac.com.au/docs/quickstreamapi/v1/trusted-frame/

Step 2 - Set your Publishable API Key & Supplier Business Code#

1.
If you've completed Onboarding as detailed above, you would have received both the Publishable API Key & Supplier Business Code you need to use in the Trusted Frame.
2.
Update the variables in the JS page with these details (the variables are enclosed within curly brackets {{}} )
3.
You can optionally update the form action of the code to another URL you prefer. The default is set to /process-payments

Step 3 - Test the page#

Load the page on your server and confirm it is rendering as expected.
You should see a page that looks like this:
image.png
Use the test data below to make a payment:
FieldValue
Cardholder nameToken tutorial
Credit card number4242 4242 4242 4242
Expiry Date12/2028 (this can be any future date)
CVN123

Step 4 - Take payment or register a payment method#

You can now use the single use token to take a payment or register the card in QuickStream.
When you receive a POST to /process-payment you should:
1.
Read the single use token from the parameter.
2.
Verify your customer using a session cookie.
3.
Use your Octane API credentials and the Single Use Token to take a one-time payment via the Make Payment API or register a Payment Method via the Add Payment Method API

Additional Tips#

1.
Avoiding duplicates by using an Idempotency-Key header.
2.
Error handling
3.
Styling the iFrame
4.
Protect your site from card testing
Modified at 2024-04-23 21:42:15
Previous
API Rate Limiting
Next
CDR Integration
Built with