Transactions API

An agile and robust headless eCommerce API, Tamio Transactions possess the power and flexibility to cater to diverse business requirements. Its capabilities extend to order creation in any currency and seamless integration of payments for your services or products within your operational flows. This serves to fortify your business with a versatile solution for managing transactions, bolstering revenue collection, and improving customer experience.

The transaction process with Tamio, while encompassing a few key concepts, is designed for simplicity and efficiency. It empowers you to swiftly navigate through the stages of transaction creation, invoice generation, and payment capture, saving you both time and effort. The process ensures every transaction is executed smoothly, reinforcing customer satisfaction and trust.

The key stages involved in a transaction flow encompass:

  1. Transaction Creation: A simple request enables you to create a transaction for single or multiple products in any currency. Tamio's intuitive engine takes care of complex calculations, including tax determinations, shipping rate selection, discount application, and warehouse selection for product delivery.
  2. Transaction Finalisation: This step solidifies the transaction at the most optimal price, reserves the necessary stock from your warehouses, and conducts final checks ahead of payment capture. Employ the Tamio Javascript SDK for seamless payment rendering within your workflows, or use a hosted page or manually register the payment.

Upon successful payment receipt, the transaction lifecycle culminates, resulting in the generation of an Invoice. Additionally, if the order contains billing plans or if an instalment plan facilitated the transaction payment, a Subscription is also produced.

Capturing Payments

Upon finalising a transaction, the next step is payment capture. This procedure varies based on the chosen payment method. Some methods undergo automatic processing, whereas others may necessitate additional actions from the customer. Such actions may involve credit card number input or redirection to an external webpage.

Using the SDK

The fastest and easiest way to handle payment capture is to use our Javascript SDK. It supports all payment methods, including any 3d secure or two-factor payment authorisation that might be required. It renders the necessary payment forms and call-to-action buttons the customer might need to interact with to make a payment.

Once you have created a transaction, follow the steps below to finalise it and set up payment capturing.

Step 1: Load the SKD on your page

HTML


Step 2: Initialise the SDK with your publishable developer token. You can create a token in the developers' section in your Tamio dashboard.

JS


Step 3: Finalise the transaction and render the payment forms to the customer. Pass the transaction ID, the payment method and the container element that you want the elements to render in.

JS


Coupon Validation

In some cases, you might want to check if a coupon is valid before creating a transaction. For this use-case, you can use the validateCoupons method.

JS


Post Payment Processing

Once payment has been confirmed and an invoice has been registered, several actions can occur.

  • Invoicing: A PDF Invoice will be emailed to the customer and the merchant.
  • Digital files: Download links will be distributed to the customer.
  • Emails: Confirmation emails will be sent to the customer and the merchant.
  • Automations: An automation event is triggered.
  • Webhooks: Various events related to the Invoice and its lifecycle are sent to your endpoints.

Invoicing and confirmation emails can be fully customised or disabled entirely.

Transaction Estimation

Employ the Estimate Transaction endpoint if you wish to pre-calculate an order's cost before initiating a transaction, or to assess potential payment options available to a prospective customer.

No Code Transactions

Tamio caters to non-developers and those preferring not to engage with code, offering the option to generate checkout pages instantaneously with our visual builder through Tamio sites. Our invoice generator offers the additional convenience of creating unlimited invoices, each with its unique hosted page to facilitate payment capture.

Visit tamio.com to sign up for a free trial and explore these features.



API Resources

Description

Method

URL

POST

/v2/transactions/create

POST

/v2/transactions/abandon/:id

POST

/v2/transactions/validate-coupons



Webhook Events

There is one webhook notification event associated with the Transactions API.

  • transaction-abandoned

You can see examples of notification events Transaction Events



Permissions

The Transactions API is accessible with publishable keys. Read more about key Getting Started



Payment capture flows per payment gateway

Payment Method

Alias

Action

Cash on delivery

cash

Automatically gets completed when calling the Finalise Transaction endpoint. No further action is required.

Offline bank transfer

bankaccount

Automatically gets completed when calling the Finalise Transaction endpoint. No further action is required.

Credit cards (Stripe)

stripe

Requires customer input and payment capture.

Instalment plans (Stripe)

instalments

Requires customer input and payment capture.

iDeal

ideal

Requires customer input and payment capture.

Sofort

sofort

The customer must be redirected to an external site to confirm the payment.

Bancontact

bancontact

The customer must be redirected to an external site to confirm the payment.

Credit cards (Revolut)

revolutcards

Requires customer input and payment capture.

RevolutPay

revolut

The customer must be redirected to an external site to confirm the payment.

PayPal Form (not recommended)

paypalindividual

The customer must be redirected to an external site to confirm the payment.

SEPA

sepa

Requires customer input and payment capture.

Giropay

giropay

The customer must be redirected to an external site to confirm the payment.

Klarna (Stripe)

klarna

The customer must be redirected to an external site to confirm the payment.

Przelewy24

p24

The customer must be redirected to an external site to confirm the payment.

FPX

fpx

Requires customer input and payment capture.

GrabPay

grabpay

The customer must be redirected to an external site to confirm the payment.

GooglePay

googlepay

The customer must be redirected to an external site to confirm the payment.

Razorpay

razorpay

The customer must be redirected to an external site to confirm the payment.

Instamojo

instamojo

The customer must be redirected to an external site to confirm the payment.

Utrust

utrust

The customer must be redirected to an external site to confirm the payment.

Cash App

cashapp

QR Code and confirmation on the customer's mobile application.

Blik

blik

Requires customer input and payment capture.

Swish

switch

The customer must be redirected to an external site to confirm the payment.

Vouchers

mollie_voucher

The customer must be redirected to an external site to confirm the payment.

Klarna Pay Now

mollie_klarnapaynow

The customer must be redirected to an external site to confirm the payment.

Klarna Slice It

mollie_klarnasliceit

The customer must be redirected to an external site to confirm the payment.

Klarna Pay Later

mollie_klarnapaylater

The customer must be redirected to an external site to confirm the payment.

IN3

mollie_in3

The customer must be redirected to an external site to confirm the payment.

Bancontact (Mollie)

mollie_bancontact

The customer must be redirected to an external site to confirm the payment.

KBC

mollie_kbc

The customer must be redirected to an external site to confirm the payment.

EPS (Mollie)

mollie_eps

The customer must be redirected to an external site to confirm the payment.

Giropay (Mollie)

mollie_giropay

The customer must be redirected to an external site to confirm the payment.

iDeal (Mollie)

mollie_ideal

The customer must be redirected to an external site to confirm the payment.

Przelewy24 (Mollie)

mollie_przelewy24

The customer must be redirected to an external site to confirm the payment.

Sofort (Mollie)

mollie_sofort

The customer must be redirected to an external site to confirm the payment.

Billie

mollie_billie

The customer must be redirected to an external site to confirm the payment.

Bank Transfer (Mollie)

mollie_banktransfer

The customer must be redirected to an external site to confirm the payment.

Belfius

mollie_belfius

The customer must be redirected to an external site to confirm the payment.

Credit Cards (Mollie)

mollie_creditcard

The customer must be redirected to an external site to confirm the payment.

PayPal (Mollie)

mollie_paypal

The customer must be redirected to an external site to confirm the payment.

GoCardless Direct Debit

gocardless

The customer must be redirected to an external site to confirm the payment.



API Error Codes

When using the Transactions API, you may come across different errors. Error responses will provide details to help you address and rectify any issues in your requests.

Examples


Please rely on the error_codes for handling requests since the error text isn't standardized and may change in the future.



Error Code

Details

90001

There are no valid payment gateways available to complete this transaction.

90002

You have provided one or more invalid product ids.

90003

You need to specify a variant id for one or more products in your request.

90004

You have provided an invalid variant id.

90005

You have provided an invalid pack id.

90006

One of your packs does not allow multiples and you have requested more than a single quantity.

90007

A pack contains invalid or missing products.

90008

Only one billing plan can be purchased in a single order.

90009

The customer lacks valid shipping details, and some products you requested need this information.

90010

Some products in the order are not available for the customer's country due to whitelist limitations.

90011

Some products do not have a valid pricing model in the requested currency.

90012

A variant does not have a valid warehouse that serves the customer's location.

90013

A product does not have a valid warehouse that serves the customer's location.

90014

A product does not have any stock available.

90015

A variant does not have any stock available.

90016

We could not find any valid products to create the transaction.

90017

There are multiple currencies that can be applied to this order. Please select a currency and pass it in the request.

90018

We could not determine a valid currency for this order. Please select a currency and pass it in the request.

90019

Invalid or missing whitelist domain.

90020

The billing plan cannot be purchased by this customer.

90021

This client already possesses an active billing plan.

90022

You have provided an invalid customer id.

90023

You have provided an invalid shipping address id.

90024

You have provided an invalid billing address id.

90025

Orders from this location are not currently available.

90026

You need to provide a valid instalment plan in order to complete this purchase.

90027

Invalid payment gateway.

90028

This transaction cannot be paid with a credit card.

90029

This transaction is already confirmed.

90030

You do not have a Stripe account.

90031

You cannot create a subscription for this transaction.

90032

This transaction cannot be completed with an instalment plan.

90033

Too many attempts to complete the payment.

90034

The payment could not be confirmed. Please try again with a different card or use a different payment method.

90035*

There was an error completeting the purchase with the provided credit card. Please try again later.

90036

You do not have a valid account for the requested payment method.

90037

There was an error communicating with the payment provider. Please try again later

90038

There was an error while creating the discount for this subscription. Please try again later.

90039

A subscription could not be created at this time, please try again later.

90040

The instalment plans could not be created. The instalment payment is too small, reduce the number of instalments for this invoice and try again.

90041

The payment method you have provided is not supported on this transaction.

90042

You have provided an invalid shipping id.

90043

We could not find any valid shipping methods that deliver to the customer's location.

*This error originates from a third party. Refer to the message for insights into the failure.