Using Approval Send POST with Payment Pages

Helcim's Payment Pages are a quick way to start collecting payments from your customers online.

If you want your Helcim Payment Page to talk to your other business tools, you can use a setting called Approval Send POST. This automatically sends transaction details to your system after every payment, saving you time and reducing errors.


In this article


What is Approval Send POST?


Approval Send POST is like an automatic notification from your Helcim Payment Page to your computer system.

Whenever a customer pays on your Payment Page, Helcim sends a message with the payment details to a specific web address you provide. This message is called a POST response, and it contains information about the transaction, like the amount paid and the customer's details.

Why use Approval Send POST?


Using Approval Send POST can help you run your business more smoothly. It can automatically update your sales records, so you don't have to enter the data yourself.

It can also trigger other actions, like sending a confirmation email to the customer or preparing an order for shipping. This can save you time, reduce mistakes, and improve your customer service.

Setting up Approval Send POST


You can set up Approval Send POST for an existing Payment Page by selecting it from the list in the Payment Pages section.

  1. In the Basic Settings, go to the More Settings dropdown.

  2. Under Page Forwarding, switch the Approval Auto Forward toggle to the "on" position.

  3. Enter the web address (URL) of your server in the Approval URL field. This is where Helcim will send the payment information.  

    • Info box: Make sure you have a valid URL. Approval Auto Forward and a valid URL are required to use Approval Send POST.

  4. In the Developer Settings, turn the Approval Send POST toggle on.  

  5. Click Save to finish.

Understanding the POST response


When Helcim sends the Approval Send POST message, it includes important details about the payment, like the amount, date, and customer information.

The information included in the POST response will be slightly different depending on the type of payment:

  • Credit card transactions: The message includes details like the card type, number, and expiry date.

  • Bank verify transactions: If the customer paid with their bank account on a ‘Customer Registration’ page, the message will include the account type and the last four digits of the account number.

  • Bank withdraw transactions: If the customer paid with their bank account on an ‘Invoice Payment’, ‘Editable Amount’, ‘Fixed Amount’, or ‘Product purchase’ page, this message includes transaction details like the date, time, bank account type, and last four digits of their bank account number.


Tables of POST response values

Click on an option below to reveal a table of potential values that can be returned in the POST response for each type of payment.

Credit card payments

Field

Type

Description

response

number

Indicates if the server response is successful (1) or not (0). The Helcim server always returns "1".

responseMessage

string

Message from the Helcim server indicating the transaction result. For approvals, this is "APPROVAL".

transactionId

number

Unique ID for the transaction.

type

string

Type of transaction: purchase, preauth, or verify.

date

string

Date the transaction was completed.

time

string

Time the transaction was completed.

avsResponse

string

Result of address verification.

cvvResponse

string

Result of card verification value check.

approvalCode

string

2-6 digit code indicating approval or decline.

cardHolderName

string

Name of the cardholder.

cardNumber

string

First 6 and last 4 digits of the card number.

expiryDate

string

Card's expiry date (MMYY).

cardType

string

Type of card (e.g., Visa, Mastercard).

cardToken

string

Unique, randomly generated card identifier.

Bank verify transactions

Field

Type

Description

response

number

Indicates if the server response is successful (1) or not (0). The Helcim server always returns "1".

responseMessage

string

Message from the Helcim server indicating the transaction result. For approvals, this is "APPROVED".

notice

string

Notice from the Helcim server. For bank verify transactions, this is "ACH VERIFY TRANSACTION".

accountType

string

Type of bank account (e.g., Checking, Savings).

accountCorporate

string

Type of account ownership (e.g., Personal, Corporate).

bankAccountToken

string

Unique, randomly generated bank account identifier.

bankAccountNumber

string

Last four digits of the bank account number.

Bank withdraw transactions

Field

Type

Description

response

number

Indicates if the server response is successful (1) or not (0). The Helcim server always returns "1".

responseMessage

string

Message from the Helcim server indicating the transaction result. For approvals, this is "APPROVED".

notice

string

Notice from the Helcim server. For bank withdraw transactions, this is "ACH WITHDRAW TRANSACTION".

transactionEFTId

number

Unique ID for the EFT transaction.

type

string

Type of EFT transaction. For Payment Pages, this is always "WITHDRAWAL".

date

string

Date the transaction was completed.

time

string

Time the transaction was completed.

approvalCode

string

2-6 digit code indicating approval or decline.

accountType

string

Type of bank account (e.g., Checking, Savings).

accountCorporate

string

Type of account ownership (e.g., Personal, Corporate).

bankAccountToken

string

Unique, randomly generated bank account identifier.

bankAccountNumber

string

Last four digits of the bank account number.


For developers

This section is for developers who need to set up the server to receive and process the Approval Send POST messages.

Introduction to the examples below

The examples below show how a developer might set up a system to receive the payment information from Helcim.

In this example, the system is built using Node.js and saves the information into a simple file. However, you have a lot of flexibility here. Your system could store this data in a database, use it to trigger other actions in your business (like updating inventory), or even send information to other tools.

You can also control what happens after the payment is processed, such as redirecting the customer to a specific page on your website.

Example ‘Approval Send’ URL

This is an example of the web address where Helcim will send the POST response. You'll need to replace this with the actual URL of your server.

https://api.client.com/write-to-csv

Example code (Node.js)

This code is a basic example of how to set up a server using Node.js to receive the POST response and write it to a CSV file. You may need to adapt this code to fit your specific server setup and programming language.

const express = require('express');

const fs = require('fs');

const app = express();

app.use(express.json());

app.post('/write-to-csv', (req, res) => {

const data = req.body;

const csv = `${data.response},${data.responseMessage},${data.notice},${data.accountType},${data.accountCorporate},${data.bankAccountToken},${data.bankAccountNumber}\n`;

fs.appendFile('output.csv', csv, () => {

res.send('Data written to file');

});

});

app.listen(3000, () => {

console.log('Server running on port 3000');

});

Example request (JSON)

This is an example of the data that Helcim will send in the POST response for a bank verify transaction. The specific data will vary depending on the type of transaction, which you can see in the Table of POST response values section above.

{

"response": 200,

"responseMessage": "APPROVED",

"notice": "ACH VERIFY TRANSACTION",

"accountType": "Checking",

"accountCorporate": "ABC Corp",

"bankAccountToken": "sample-unique-token",

"bankAccountNumber": "0300"

}

Example output (output.csv)

This is an example of how the data from the POST response might be written to a CSV file.

200,APPROVED,ACH VERIFY TRANSACTION,Checking,ABC Corp,sample-unique-token,0300

Next steps


Now that you’re familiar with how Approval Send POST works, here are some other places to go to learn more:


FAQ

Do I need a web developer to use Approval Send POST?

Yes, you'll need some technical knowledge or a web developer to set up your server to receive and process the POST response.

What if I don't receive the POST response?

Make sure your Approval URL is correct and your server is working properly. You can also contact Helcim support for assistance.

Can I customize the information included in the POST response?

No, the POST response includes a set of standard information, as outlined in the tables above.