Account Bank Transfers
Collects banking activity initiated by the merchant. Relevant transaction types are payouts, withdrawals, deposits, incoming bank transfers, outgoing bank transfers, incoming wallet transfers and outgoing wallet transfers. 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.
POST https://api.fraudio.com/v1/transactions/account-bank-transfers
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' bank accounts
- the bank transfers are initiated by the merchants (if the transfers are all scheduled and automated by default, then there is no need to send bank transfers to this endpoint)
The account bank transfers can be sent either individually or in batch.
Request Parameters
Request parameters in JSON format
{
"data": [
{
"transactionid": "00000001",
"transactiontype": "withdrawal",
"timestamp": 1646063615,
"merchant": "853CA6B7-79BB-DE46-049F-FC2603FAC59F",
"walletid": "893067473928",
"amount": 1.1,
"currency": "978",
"currencyunit": "major",
"bankaccountnumber": "NL51INGB40123456789876"
}
]
}
Request parameters: Field Reference Table
Field | Data Type | Payment Fraud (Issuer) | Payment Fraud (Acquirer / Processor) | Merchant Fraud / AML | Description |
---|---|---|---|---|---|
transactionid | String | n.a. | n.a. | Important | The unique identifier of the transaction event. Every transaction event, so auth , capture , auth_capture , etc., has its own unique ID. |
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. |
transactiontype | String | n.a. | n.a. | Important | The type of transaction event. Accepted values are: - payout : A direct transfer of funds (OCT) to credit card holders.- withdrawal : The withdrawal of cash from a bank account.- deposit : The deposit of cash into a bank account.- bank_incoming_transfer : The incoming transfer of money into a bank account.- bank_outgoing_transfer : The outgoing transfer of money out of a bank account.- wallet_incoming_transfer : The incoming transfer of money into a wallet.- wallet_outgoing_transfer : The outgoing transfer of money out of a wallet. |
amount | Double | n.a. | n.a. | Important | The transaction amount in the unit specified by the currencyunit field and in the currency specified by the currency 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. |
merchant | String | n.a. | n.a. | Important | The unique identifier of the merchant. This field uniquely identifies the merchant, and should not be confused with the MID. Any unique identifier is accepted. |
bankaccountnumber | String | n.a. | n.a. | Supplementary | Bank Account Number. This refers to the International Bank Account Number (IBAN) or any equivalent national bank account number or ID. |
walletid | String | n.a. | n.a. | Supplementary | External ID of the merchant wallet. |
Response Parameters
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/account-bank-transfers' \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data-raw '{"data":[{"transactionid":"00000001","transactiontype":"withdrawal","timestamp":1646063615,"merchant":"853CA6B7-79BB-DE46-049F-FC2603FAC59F","walletid":"893067473928","amount":1.1,"currency":"978","currencyunit":"major","bankaccountnumber":"NL51INGB40123456789876"}]}'
import json
import os
import requests
account_bank_transfers_endpoint = 'https://api.fraudio.com/v1/transactions/account-bank-transfers'
access_token = os.environ['ACCESS_TOKEN']
headers = {'Authorization': f'Bearer {access_token}', 'Content-Type': 'application/json'}
account_bank_transfer = {"data":[{"transactionid":"00000001","transactiontype":"withdrawal","timestamp":1646063615,"merchant":"853CA6B7-79BB-DE46-049F-FC2603FAC59F","walletid":"893067473928","amount":1.1,"currency":"978","currencyunit":"major","bankaccountnumber":"NL51INGB40123456789876"}
r = requests.post(account_bank_transfers_endpoint, data=json.dumps(account_bank_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 AccountBankTransfers
{
public static void main(String[] args) throws IOException, URISyntaxException, InterruptedException
{
String accountBankTransfersEndpoint = "https://api.fraudio.com/v1/transactions/account-bank-transfers";
String accessToken = System.getenv("ACCESS_TOKEN");
String accountBankTransfer = "{\"data\":[{\"transactionid\":\"00000001\",\"transactiontype\":\"withdrawal\",\"timestamp\":1602668123.456,\"merchant\":\"853CA6B7-79BB-DE46-049F-FC2603FAC59F\",\"walletid\":\"893067473928\",\"amount\":1.1,\"currency\":\"978\",\"currencyunit\":\"major\",\"bankaccountnumber\":\"NL51INGB40123456789876\"}]}";
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(accountBankTransfersEndpoint))
.header("Authorization", String.format("Bearer %s", accessToken))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(accountBankTransfer))
.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 $account_bank_transfers_endpoint = 'https://api.fraudio.com/v1/transactions/account-bank-transfers';
my $access_token = $ENV{"ACCESS_TOKEN"};
my $account_bank_transfer = '{"data":[{"transactionid":"00000001","transactiontype":"withdrawal","timestamp":1646063615,"merchant":"853CA6B7-79BB-DE46-049F-FC2603FAC59F","walletid":"893067473928","amount":1.1,"currency":"978","currencyunit":"major","bankaccountnumber":"NL51INGB40123456789876"}]}';
my $req = HTTP::Request -> new(POST => $account_bank_transfers_endpoint);
$req -> header('Authorization' => "Bearer $access_token", "Content-Type" => "application/json");
$req -> content($account_bank_transfer);
my $ua = LWP::UserAgent -> new;
my $resp = $ua -> request($req);
my $message = $resp -> decoded_content;
print "Received reply: $message";
<?php
$account_bank_transfers_endpoint = 'https://api.fraudio.com/v1/transactions/account-bank-transfers';
$access_token = $_SERVER["ACCESS_TOKEN"];
$account_bank_transfer = '{"data":[{"transactionid":"00000001","transactiontype":"withdrawal","timestamp":1646063615,"merchant":"853CA6B7-79BB-DE46-049F-FC2603FAC59F","walletid":"893067473928","amount":1.1,"currency":"978","currencyunit":"major","bankaccountnumber":"NL51INGB40123456789876"}]}';
$options = [
'http' => [
'header' => "Authorization: Bearer $access_token" .
"Content-Type: application/json",
'method' => 'POST',
'content' => $account_bank_transfer
]
];
$context = stream_context_create($options);
$result = file_get_contents($account_bank_transfers_endpoint, false, $context);
print $result;
?>