The developer.datatrans.com Developer Hub

Welcome to the developer.datatrans.com developer hub. You'll find comprehensive guides and documentation to help you start working with developer.datatrans.com as quickly as possible, as well as support if you get stuck. Let's jump right in!

Merchant Initiated Payments

Any transaction where you as a merchant are directly asking to authorize payment information is referred to as a merchant-initiated transaction. Such transactions are those that occur for example during subscription billing cycles or payments where your customer is not available to interact at all.

You may require additional approval

Depending on the payment methods you wish to register, you may require additional approval or even an additional agreement with your acquirer. Please contact us to check the requirements based on your merchant setup.

Please also check the tokenization overview to see if your payment method supports registrations and if they can be done with a payment or require a dedicated registration.

After sending all the needed parameters to our endpoint authorize or validate, you will receive our response with a transactionId and the relevant information of the transaction in the response body. No webhook will be sent for such transactions since we directly communicate with your server. From there, you can proceed with your backend operations.

Recurring Payments

At Datatrans we want to give you the maximum flexibility with payments. That's why we don't want to limit recurring payments to any amount or currency. To process a merchant-initiated recurring payment you can call our authorize endpoint. You can switch your subscription amounts at any time or even change the currency if a customer wishes to change that. To process recurring payments, you will have to first have your customer process a customer initiated payment or registration. Once this has been completed, you will receive a token for their card or payment method account. With this, you can proceed with the recurring payment request from your backend. Card payments require the token to be sent inside the object card with the expiry date whereas other payment methods need a simple token inside their own object. More details can be found in our API reference. Check the example below to process a recurring card transaction.

curl 'https://api.sandbox.datatrans.com/v1/transactions/authorize' \
--header 'Authorization: Basic {{basicAuth}}' \
--header 'Content-Type: application/json' \
--data-raw '{
	"currency": "CHF",
	"refno": "Test-1234",
	"amount": 100,
	"card": {
		"alias": "{{cardAlias}}",
		"expiryMonth": 12,
		"expiryYear": 21
	},
	"autoSettle": true
}'

Verifying Payment Information

If you require to check if a payment account is still valid you can call our validate endpoint. This API call will return if a card is still valid or not. This is useful for business cases where you wish to check a card's validity without having to debit any amount from your customers.

curl 'https://api.sandbox.datatrans.com/v1/transactions/validate' \
--header 'Authorization: Basic {{basicAuth}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "refno": "Test-1234",
    "currency": "CHF",
    "card": {
        "alias": "{{cardAlias}}",
        "expiryMonth": "12",
        "expiryYear": "21"
    }
}'

Updated about a month ago

Merchant Initiated Payments


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.