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:
- 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.
- 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.
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.
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
Step 2: Initialise the SDK with your publishable developer token. You can create a token in the developers' section in your Tamio dashboard.
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.
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.
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.
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.
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.
Description | Method | URL |
---|---|---|
POST | /v2/transactions/create | |
POST | /v2/transactions/abandon/:id | |
POST | /v2/transactions/validate-coupons |
There is one webhook notification event associated with the Transactions API.
- transaction-abandoned
You can see examples of notification events Transaction Events
The Transactions API is accessible with publishable keys. Read more about key Getting Started
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. |
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.
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.