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.
In the Basic Settings, go to the More Settings dropdown.
Under Page Forwarding, switch the Approval Auto Forward toggle to the "on" position.
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.
In the Developer Settings, turn the Approval Send POST toggle on.
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
Bank verify transactions
Bank withdraw transactions
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:
Visit our article series on Integrating with Helcim to learn more about custom web integrations with Helcim.
Check out our article on Creating a Payment Page for a refresher on how to get started with Helcim Payment Pages.
You can also contact Helcim support if you need help setting up Approval Send POST.
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.