Direct API payments

This page provides details about using the transactions endpoint to submit card and bank payments. See the transactions documentation in our Payrix Integrated REST API documentation for further information.

You must be PCI certified to submit card transactions directly via the API. Your application will need to handle protected customer and payment method data.

If you are using your own Payment Page, there are Payment Page requirements which are mandatory for compliance and security. Ensure you are following the requirements by checking out the Payment Page Requirement documents.

The Payrix API supports card and bank payments using a new or stored payment method. The same request can also tokenise a new payment method for future use.


Card Payments

To submit a card payment using the API, send a POST request to the transactions endpoint with the payment details in the body of the request. The examples below show request bodies for the following use cases:

  • New Card - Submit a transaction by sending the payment card details.

  • Stored / Saved Card - Submit a transaction using a previously stored payment token.

  • Tokenised Card Payment - Submit a transaction by sending payment through tokenised card details.

 

New Card Payment

You must be PCI Level 1 compliant to submit unencrypted card data directly via the API.

The example below shows a sample request body for card payment using a new payment method:

{ "ProcessType": "COMPLETE", "Reference": "Payrix Integrated Test Transaction 101", "Description": "This is an example real-time transaction", "Amount": 100.25, "CurrencyCode": "AUD", "CardToken": null, "Card": { "CardNumber": "4111111111111111", "CardholderName": "TEST Card", "ExpiryYear": 2023, "ExpiryMonth": 10, "Ccv": "123" }, "Payer": null, "Audit": { "Username": "Example-User", "UserIP": "1.2.3.4" } }

Stored Card Payment

The example below shows a sample request body for card payment using a stored token as the payment method:

{ "ProcessType": "COMPLETE", "Reference": "Payrix Integrated Transaction 1001", "Amount": 100.75, "Description": "This is a test transaction", "CurrencyCode": "AUD", "ServiceDate": "2022-03-01T10:00:00+10:00", "Audit": { "Username": "Example-User", "UserIP": "1.2.3.4" } }

Tokenised Card Payment

The example below shows a sample request body for card payment using tokenised card data:

{ "ProcessType": "COMPLETE", "Reference": "Payrix Integrated Transaction 101", "Description": "This is an example real-time transaction", "Amount": 100.25, "CurrencyCode": "AUD", "CardToken": "cbd86c35289249eb86759453cea4025b", "ServiceDate": "2022-03-01T10:00:00+10:00", "Payer": { "uniqueReference": "Payrix Integrated UniqueReferenceA", "groupReference":"Payrix Integrated UniqueReferenceA", "familyOrBusinessName":"Surname", "givenName":"First Name", "billingAddress":{"Line1": "1 Test St","Line2": "Test Building","Suburb": "Testville","State": "QLD","PostCode": "4001","Country": "AUS" }, "email":"test@test.com", "phone":"0733331111", "savePayer":"false" }, "Audit": { "Username": "Example-User", "UserIP": "1.2.3.4" } }

 


Bank payments

To submit a payment via Bank Account (BECS) using the API, send a POST request by scheduling a single or multiple future payments.

The example below shows a sample request body for scheduling a single payment: