Transferio Developer Documentation
website·Indexed 30 days ago
https://developers.transferio.io/help-centerDocumentation for the Transferio platform, covering cryptocurrency payment processing, invoice and checkout creation, mass payouts, and API integration. Includes guides on managing projects, configuring webhooks, handling payment statuses, and managing account security settings such as API keys and IP whitelisting.
What's inside Transferio
- The Transferio REST API enables businesses to integrate cryptocurrency payments, allowing clients to pay directly via computer or mobile devices using the blockchain as the settlement network. Transferio manages the blockchain infrastructure by generating payment addresses and monitoring the blockchain to detect when payments are completed, removing the need for developers to build their own blockchain monitoring systems or store sensitive customer payment data.
Understand the difference between Invoices and Checkout
Choose between Invoices and Checkout based on the transaction type:
- Invoices are designed for one-time, personalized transactions. They are ideal for unique payment amounts that vary by order, allowing for detailed specification of each payment. Each invoice is unique, intended for single use, and is closed once paid.
- Checkout is designed for standard products and services with fixed prices. It provides a generalized, reusable method for accepting payments across multiple orders but offers less flexibility for individual customization than an invoice.
Accept cryptocurrency payments using Checkout
Checkout is a payment integration tool for websites and applications that allows sellers to accept cryptocurrency for goods and services. It can be implemented as a payment button or a QR code. When a buyer initiates a payment, they are redirected to a secure payment page to select their preferred cryptocurrency and confirm the transaction, which transfers funds directly from the buyer's wallet to the seller's wallet. This function is ideal for standardized products with constant pricing or for receiving variable payments (like tips) by setting the payment type to 'no price'.Retrieve details for a specific deposit
Retrieve information about a single deposit using its unique UUID. This endpoint requires authentication via Cookie, Bearer token, or Session auth.GET /v2.0/deposits/{id}Restrict API access using IP whitelisting
The API Keys IPs functionality allows you to restrict access to API methods to specific IP addresses or subnets.
Behavior Rules:
- Default (No entries): If no whitelist IPs are defined for the merchant, access is allowed from any IP address.
- Active Filtering: Once at least one IP is added, the whitelist is activated. Any request from an IP address not present in the whitelist will be blocked and return a
403 Forbiddenresponse. - Supported Formats: Supports individual IP addresses (e.g.,
192.168.0.1) and IP ranges in CIDR format (e.g.,192.168.0.0/24).
Handle Transferio API error codes
When a request fails, the Transferio API may return specific error codes in the response body to provide more detail about the failure:
authentication_required: Valid authentication credentials are missing.rate_limit_exceeded: Too many requests sent in a given timeframe.validation_error: Request validation failed; details are provided in theerrorsfield.insufficient_balance: The associated account lacks sufficient funds for the operation.amount_too_small: The specified amount is below the minimum allowed threshold.
Manage different business areas using Projects
In Transferio, you can create separate Projects to organize different business areas. This allows you to isolate operations by choosing different cryptocurrencies for receiving payments for each specific project.Understand the role of the Charge object in Transferio
A Charge is the fundamental object used to process cryptocurrency payments in Transferio. It serves as the basis for both Invoice and Checkout functions; when either an Invoice or Checkout is created, a Charge is first generated to define the product or service details. For every payment created via a Charge, a unique cryptocurrency wallet address is generated, enabling buyers to send funds directly to the seller's wallet.Retrieve details for a specific charge
To get information about a specific charge, use the GET /v2.0/charges/(id) endpoint.
If the request is made without an API key (unauthorized), the response will contain a limited set of attributes. This allows developers to generate and display a payment page independently without using the Transferio payment link. The unauthorized response includes:
id,logo,project_logo,project_id,pricing_type,name,description, andfiat_price.GET /v2.0/charges/{id}Example Unauthorized Response:
{ "success": true, "data": { "id": "<string>", "logo": {}, "project_logo": {}, "project_id": "<string>", "pricing_type": "<string>", "name": "<string>", "description": "<string>", "fiat_price": {} } }Accept cryptocurrency payments using Checkout
The Checkout function allows sellers to integrate cryptocurrency payment processing directly into a website or mobile application via payment buttons or QR codes. It is primarily designed for standardized products or services with constant pricing. When a buyer initiates a payment, they are redirected to a secure page to select their preferred cryptocurrency and complete the transaction, transferring funds directly to the seller's wallet.Handle Mass Payout webhook notifications
When performing a Mass Payout operation, the system sends a callback to the address specified during the operation's creation whenever there is a change in the transaction status. The webhook payload consists of a top-level envelope containing the event ID, type, and a data object with the specific payout details.{ "id": "b58850d3-fb4a-468c-a16f-be94962d48ae", "type": "payout:pending", "data": { "id": "83ce184b-2f92-4d60-8d56-7016bc121263", "network": "ethereum", "symbol": "USDT", "address": "0xA0723dAFAd27aBC0c50719aEf55017f5EC7c3A69", "amount": 0.333, "status": "pending", "ext_tx_id": "string", "callback_url": "https://example.com/callback", "external_id": "abc-def", "mass_payout_id": "12c5c0df-c4c0-4ab9-8945-2d2f3a5ea462", "created_at": "2023-08-08T10:17:14.804+03:00", "updated_at": "2023-08-08T10:17:14.804+03:00" }, "created_at": "2023-08-08T10:17:14.815487+03:00" }Create a new Transferio API key
To generate an API key for authenticating requests to the Transferio API, navigate to the API Keys tab and follow these steps:
- Enter a user-friendly name for the key to identify it later.
- Select the specific API methods (scopes) that this key is permitted to call.
- Click the 'Create New Key' button.