Inter Account Transfers
POST https://api.fraudio.com/v1/transactions/inter-account-transfers
Endpoint Overview
Our Inter Account Transfers endpoint collects wallet transfers between-, in- and out of merchants' wallet accounts. These types of transactions provide us with more complete profiles of merchants which improves the quality of the Merchant Fraud and/or the AML product for you.
Account Bank Transfers are only applicable under the following circumstances:
- you are using the Merchant Fraud product and/or the AML product
- you have visibility over merchants' wallet accounts
- the wallet transfers are initiated by the merchants (if the transfers are all scheduled and automated by default, then there is no need to send wallet transfers to this endpoint)
The inter-bank transfers can be sent either individually or in batch.
Request Parameters
Request parameters in JSON format
{
"data": [
{
"sender_transactionid": "cd99e97e-bb58-4148-caed-af26effefffd",
"receiver_transactionid": "d6a7b747-474f-bc95-98da-72b01855ba5b",
"sender_walletid": "893067473928",
"receiver_walletid": "783391316672",
"timestamp": 1646063615,
"sender_merchant": "cfbe1fc6-3069-b390-4287-f0d653acc3cc",
"receiver_merchant": "e2122240-ad11-471f-ada2-cd6cd4e6acdb",
"amount": 1.1,
"currency": "978",
"currencyunit": "major"
}
]
}
Request parameters: Field Reference Table
Field | Data Type | Payment Fraud (Issuer) | Payment Fraud (Acquirer / Processor) | Merchant Fraud / AML | Description |
---|---|---|---|---|---|
sender_transactionid | String | n.a. | n.a. | Important | ID of the transaction for the sending wallet. |
receiver_transactionid | String | n.a. | n.a. | Important | ID of the transaction for the receiving wallet. |
timestamp | Double | n.a. | n.a. | Important | The UTC time at which the transaction was made. When sending events in realtime, this will usually be 'now'. Only Unix Timestamps are accepted. |
sender_merchant | String | n.a. | n.a. | Important | The name or identifier of the merchant corresponding to the sender wallet. This field uniquely identifies the merchant, and should not be confused with the MID. Any name or unique identifier is accepted. |
receiver_merchant | String | n.a. | n.a. | Important | The name or identifier of the merchant corresponding to the receiving wallet. This field uniquely identifies the merchant, and should not be confused with the MID. Any name or unique identifier is accepted. |
amount | Double | n.a. | n.a. | Important | The transaction amount in the unit specified by the 'currencyunit' field. Note: The unit used in this field should be explicitly stated in the 'currencyunit' field. |
currency | String | n.a. | n.a. | Important | The 3-digit ISO code for the currency used in the transaction. |
currencyunit | String | n.a. | n.a. | Important | This field defines the unit of currency used in the 'amount' field. Accepts only major (e.g., 12.30) or minor (e.g., 1230) unit values. This choice should align with the unit used in the 'amount' field. |
sender_walletid | String | n.a. | n.a. | Supplementary | ID of the sending wallet. |
receiver_walletid | String | n.a. | n.a. | Supplementary | ID of the receiving wallet. |
Response Parameters
200 OK Response
{
"created": 2,
"deleted": 0,
"errors": [],
"ignored": 0,
"received": 1,
"updated": 0
}
Status Code | Status Message | Description | Schema |
---|---|---|---|
200 | OK | Standard response for successful HTTP requests. | 200 OK - Data Collection Response |
4xx , 500 , 501 , 502 , 503 , 504 | error | Various error messages for unsuccessful HTTP requests. | Problem response |
Code samples
- Shell
- Python
- Java
- Perl
- PHP
curl -X POST 'https://api.fraudio.com/v1/transactions/inter-account-transfers' \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data-raw '{"data":[{"sender_transactionid":"cd99e97e-bb58-4148-caed-af26effefffd","receiver_transactionid":"d6a7b747-474f-bc95-98da-72b01855ba5b","sender_walletid":"893067473928","receiver_walletid":"783391316672","timestamp":1646063615,"sender_merchant":"cfbe1fc6-3069-b390-4287-f0d653acc3cc","receiver_merchant":"e2122240-ad11-471f-ada2-cd6cd4e6acdb","amount":1.1,"currency":"978","currencyunit":"major"}]}'
import json
import os
import requests
inter_account_transfers_endpoint = 'https://api.fraudio.com/v1/transactions/inter-account-transfers'
access_token = os.environ['ACCESS_TOKEN']
headers = {'Authorization': f'Bearer {access_token}', 'Content-Type': 'application/json'}
inter_account_transfer = {"data":[{"sender_transactionid":"cd99e97e-bb58-4148-caed-af26effefffd","receiver_transactionid":"d6a7b747-474f-bc95-98da-72b01855ba5b","sender_walletid":"893067473928","receiver_walletid":"783391316672","timestamp":1646063615,"sender_merchant":"cfbe1fc6-3069-b390-4287-f0d653acc3cc","receiver_merchant":"e2122240-ad11-471f-ada2-cd6cd4e6acdb","amount":1.1,"currency":"978","currencyunit":"major"}]}
r = requests.post(inter_account_transfers_endpoint, data=json.dumps(inter_account_transfer), headers=headers)
print(r.json())
package com.fraudio;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class InterAccountTransfers
{
public static void main(String[] args) throws IOException, URISyntaxException, InterruptedException
{
String interAccountTransfersEndpoint = "https://api.fraudio.com/v1/transactions/inter-account-transfers";
String accessToken = System.getenv("ACCESS_TOKEN");
String interAccountTransfer = "{\"data\":[{\"sender_transactionid\":\"cd99e97e-bb58-4148-caed-af26effefffd\",\"receiver_transactionid\":\"d6a7b747-474f-bc95-98da-72b01855ba5b\",\"sender_walletid\":\"893067473928\",\"receiver_walletid\":\"783391316672\",\"timestamp\":1646063615,\"sender_merchant\":\"cfbe1fc6-3069-b390-4287-f0d653acc3cc\",\"receiver_merchant\":\"e2122240-ad11-471f-ada2-cd6cd4e6acdb\",\"amount\":1.1,\"currency\":\"978\",\"currencyunit\":\"major\"}]}";
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(interAccountTransfersEndpoint))
.header("Authorization", String.format("Bearer %s", accessToken))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(interAccountTransfer))
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String responseBody = response.body();
System.out.println("Response Code: " + response.statusCode() + "\nResponse Body: " + responseBody);
}
}
use LWP::UserAgent;
use HTTP::Request::Common;
my $inter_account_transfers_endpoint = 'https://api.fraudio.com/v1/transactions/inter-account-transfers';
my $access_token = $ENV{"ACCESS_TOKEN"};
my $inter_account_transfer = '{"data":[{"sender_transactionid":"cd99e97e-bb58-4148-caed-af26effefffd","receiver_transactionid":"d6a7b747-474f-bc95-98da-72b01855ba5b","sender_walletid":"893067473928","receiver_walletid":"783391316672","timestamp":1646063615,"sender_merchant":"cfbe1fc6-3069-b390-4287-f0d653acc3cc","receiver_merchant":"e2122240-ad11-471f-ada2-cd6cd4e6acdb","amount":1.1,"currency":"978","currencyunit":"major"}]}';
my $req = HTTP::Request -> new(POST => $inter_account_transfers_endpoint);
$req -> header('Authorization' => "Bearer $access_token", "Content-Type" => "application/json");
$req -> content($inter_account_transfer);
my $ua = LWP::UserAgent -> new;
my $resp = $ua -> request($req);
my $message = $resp -> decoded_content;
print "Received reply: $message";
<?php
$inter_account_transfers_endpoint = 'https://api.fraudio.com/v1/transactions/inter-account-transfers';
$access_token = $_SERVER["ACCESS_TOKEN"];
$inter_account_transfer = '{"data":[{"sender_transactionid":"cd99e97e-bb58-4148-caed-af26effefffd","receiver_transactionid":"d6a7b747-474f-bc95-98da-72b01855ba5b","sender_walletid":"893067473928","receiver_walletid":"783391316672","timestamp":1646063615,"sender_merchant":"cfbe1fc6-3069-b390-4287-f0d653acc3cc","receiver_merchant":"e2122240-ad11-471f-ada2-cd6cd4e6acdb","amount":1.1,"currency":"978","currencyunit":"major"}]}';
$options = [
'http' => [
'header' => "Authorization: Bearer $access_token" .
"Content-Type: application/json",
'method' => 'POST',
'content' => $inter_account_transfer
]
];
$context = stream_context_create($options);
$result = file_get_contents($inter_account_transfers_endpoint, false, $context);
print $result;
?>