Account Bank Transfers
POST https://api.fraudio.com/v1/transactions/account-bank-transfers
Endpoint Overview
Our Account Bank Transfers endpoint collects withdrawals, incoming bank transfers and outgoing bank 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.
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",
"originalamount": 1.1,
"currency": "978",
"iban": "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. Possible values are: - payout: A direct transfer of funds (OCT) to credit card holders. - withdrawal: The withdrawal of cash from 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. |
originalamount | Double | n.a. | n.a. | Important | Amount/value of the transaction in the original currency. Must be a nonnegative value. |
currency | String | n.a. | n.a. | Important | The 3-digit ISO code for the currency used in the transaction. |
merchant | String | n.a. | n.a. | Important | The name or identifier of the merchant. This field uniquely identifies the merchant, and should not be confused with the MID. Any name or unique identifier is accepted. |
iban | String | n.a. | n.a. | Supplementary | IBAN (International Bank Account Number). Bank account number or ID is also sufficient. |
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","originalamount":1.1,"currency":"978","iban":"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":[{"sender_transactionid": "0000023232","receiver_transactionid": "receiver_transactionid","transactionid":"a9899d6a-46a8-4574-a881-3e7786ba69","timestamp":1646063615,"transactiontype":"withdrawal","sistertransactionid":"00000001","merchant":"CFBE1FC6-3069-B390-4287-F0D653ACC3CC","walletid":"783067473928","originalamount":1.1,"currency":"978"}]}
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\",\"originalamount\":1.1,\"currency\":\"978\",\"iban\":\"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","originalamount":1.1,"currency":"978","iban":"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","originalamount":1.1,"currency":"978","iban":"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;
?>