Skip to main content
POST
/
merchant-accounts
/
{merchant_account_id}
/
three-ds-configurations
C#
using Gr4vy;
using Gr4vy.Models.Components;
using System.Collections.Generic;

var sdk = new Gr4vySDK(
    id: "example",
    server: SDKConfig.Server.Sandbox,
    bearerAuthSource: Auth.WithToken(privateKey),
    merchantAccountId: "default"
);

var res = await sdk.MerchantAccounts.ThreeDsConfiguration.CreateAsync(
    merchantAccountId: "merchant-12345",
    merchantAccountThreeDSConfigurationCreate: new MerchantAccountThreeDSConfigurationCreate() {
        MerchantAcquirerBin = "516327",
        MerchantAcquirerId = "123456789012345",
        MerchantName = "Acme Inc.",
        MerchantCountryCode = "840",
        MerchantCategoryCode = "1234",
        MerchantUrl = "https://example.com",
        Scheme = "<value>",
        Metadata = new Dictionary<string, string>() {
            { "key", "<value>" },
            { "key1", "<value>" },
            { "key2", "<value>" },
        },
    }
);

// handle response
package main

import(
"context"
"os"
gr4vygo "github.com/gr4vy/gr4vy-go"
"github.com/gr4vy/gr4vy-go/models/components"
"log"
)

func main() {
ctx := context.Background()

s := gr4vy.New(
gr4vy.WithID("example"),
gr4vy.WithServer(gr4vy.ServerSandbox),
gr4vy.WithSecuritySource(withToken),
gr4vy.WithMerchantAccountID("default"),
)

res, err := s.MerchantAccounts.ThreeDsConfiguration.Create(ctx, "merchant-12345", components.MerchantAccountThreeDSConfigurationCreate{
MerchantAcquirerBin: "516327",
MerchantAcquirerID: "123456789012345",
MerchantName: "Acme Inc.",
MerchantCountryCode: "840",
MerchantCategoryCode: "1234",
MerchantURL: "https://example.com",
Scheme: components.CardSchemeVisa,
Metadata: map[string]string{
"key": "<value>",
"key1": "<value>",
"key2": "<value>",
},
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
package hello.world;

import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.components.CardScheme;
import com.gr4vy.sdk.models.components.MerchantAccountThreeDSConfigurationCreate;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.CreateThreeDsConfigurationResponse;
import java.lang.Exception;
import java.util.Map;

public class Application {

public static void main(String[] args) throws Exception {

Gr4vy sdk = Gr4vy.builder()
.id("example")
.server(AvailableServers.SANDBOX)
.merchantAccountId("default")
.securitySource(new BearerSecuritySource.Builder(privateKey).build())
.build();

CreateThreeDsConfigurationResponse res = sdk.merchantAccounts().threeDsConfiguration().create()
.merchantAccountId("merchant-12345")
.merchantAccountThreeDSConfigurationCreate(MerchantAccountThreeDSConfigurationCreate.builder()
.merchantAcquirerBin("516327")
.merchantAcquirerId("123456789012345")
.merchantName("Acme Inc.")
.merchantCountryCode("840")
.merchantCategoryCode("1234")
.merchantUrl("https://example.com")
.scheme(CardScheme.VISA)
.metadata(Map.ofEntries(
Map.entry("key", "<value>"),
Map.entry("key1", "<value>"),
Map.entry("key2", "<value>")))
.build())
.call();

if (res.merchantAccountThreeDSConfiguration().isPresent()) {
System.out.println(res.merchantAccountThreeDSConfiguration().get());
}
}
}
declare(strict_types=1);

require 'vendor/autoload.php';

use Gr4vy;

$sdk = Gr4vy\SDK::builder()
->setId('example')
->setServer('sandbox')
->setSecuritySource(Auth::withToken($privateKey))
->setMerchantAccountId('default')
->build();

$merchantAccountThreeDSConfigurationCreate = new Gr4vy\MerchantAccountThreeDSConfigurationCreate(
merchantAcquirerBin: '516327',
merchantAcquirerId: '123456789012345',
merchantName: 'Acme Inc.',
merchantCountryCode: '840',
merchantCategoryCode: '1234',
merchantUrl: 'https://example.com',
scheme: '<value>',
metadata: [
'key' => '<value>',
'key1' => '<value>',
'key2' => '<value>',
],
);

$response = $sdk->merchantAccounts->threeDsConfiguration->create(
merchantAccountId: 'merchant-12345',
merchantAccountThreeDSConfigurationCreate: $merchantAccountThreeDSConfigurationCreate

);

if ($response->merchantAccountThreeDSConfiguration !== null) {
// handle response
}
from gr4vy import Gr4vy
import os


with Gr4vy(
id="example",
server="sandbox",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
):

res = g_client.merchant_accounts.three_ds_configuration.create(merchant_account_id="merchant-12345", merchant_acquirer_bin="516327", merchant_acquirer_id="123456789012345", merchant_name="Acme Inc.", merchant_country_code="840", merchant_category_code="1234", merchant_url="https://example.com", scheme="visa", metadata={
"key": "<value>",
"key1": "<value>",
"key2": "<value>",
})

# Handle response
print(res)
import { Gr4vy, withToken } from "@gr4vy/sdk";
import fs from "fs";

const gr4vy = new Gr4vy({
id: "example",
server: "sandbox",
merchantAccountId: "default",
bearerAuth: withToken({
privateKey: fs.readFileSync("private_key.pem", "utf8"),
}),
});

async function run() {
const result = await gr4vy.merchantAccounts.threeDsConfiguration.create({
merchantAcquirerBin: "516327",
merchantAcquirerId: "123456789012345",
merchantName: "Acme Inc.",
merchantCountryCode: "840",
merchantCategoryCode: "1234",
merchantUrl: "https://example.com",
scheme: "visa",
metadata: {
"key": "<value>",
"key1": "<value>",
"key2": "<value>",
},
}, "merchant-12345");

console.log(result);
}

run();
curl --request POST \
--url https://api.sandbox.{id}.gr4vy.app/merchant-accounts/{merchant_account_id}/three-ds-configurations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"merchant_acquirer_bin": "<string>",
"merchant_acquirer_id": "<string>",
"merchant_name": "<string>",
"merchant_country_code": "<string>",
"merchant_category_code": "<string>",
"merchant_url": "<string>",
"metadata": {}
}
'
{
  "merchant_acquirer_bin": "<string>",
  "merchant_acquirer_id": "<string>",
  "merchant_name": "<string>",
  "merchant_country_code": "<string>",
  "merchant_category_code": "<string>",
  "merchant_url": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "merchant_account_id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "currency": "USD",
  "metadata": {},
  "type": "merchant-account.three-ds-configuration"
}
{
"type": "error",
"code": "bad_request",
"status": 400,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}
{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "not_found",
"status": 404,
"message": "The resource could not be found",
"details": []
}
{
"type": "error",
"code": "method_not_allowed",
"status": 405,
"message": "Method Not Allowed",
"details": []
}
{
"type": "error",
"code": "duplicate_record",
"status": 409,
"message": "Generic error",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}
{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "server_error",
"status": 500,
"message": "Request could not be processed",
"details": []
}
{
"type": "error",
"code": "bad_gateway",
"status": 502,
"message": "Request could not be processed",
"details": []
}
{
"type": "error",
"code": "gateway_timeout",
"status": 504,
"message": "Request could not be processed",
"details": []
}
This endpoint requires the merchant-accounts.write scope.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

merchant_account_id
string
required

The ID of the merchant account.

Example:

"merchant-12345"

Body

application/json
merchant_acquirer_bin
string
required

Acquirer BIN to use when calling 3DS through this scheme.

Maximum string length: 11
Example:

"516327"

merchant_acquirer_id
string
required

Merchant ID to use when calling 3DS through this scheme.

Maximum string length: 35
Example:

"123456789012345"

merchant_name
string
required
Maximum string length: 40
Example:

"Acme Inc."

merchant_country_code
string
required

The merchant's ISO 3166-1 numeric country code.

Example:

"840"

merchant_category_code
string
required

Merchant category code to use when calling 3DS through this scheme.

Required string length: 4
Example:

"1234"

merchant_url
string
required

URL to send when calling 3DS through this scheme.

Example:

"https://example.com"

scheme
enum<string>
required

The card scheme for this 3DS configuration

Available options:
accel,
amex,
bancontact,
carte-bancaire,
cirrus,
culiance,
dankort,
diners-club,
discover,
eftpos-australia,
elo,
hipercard,
jcb,
maestro,
mastercard,
mir,
nyce,
other,
pulse,
qcard,
rupay,
star,
uatp,
unionpay,
visa
metadata
Metadata · object
required

Any additional information about the 3DS configuration that you would like to store as key-value pairs.

currency
string | null

ISO 4217 currency code (3 characters). If left null, the configuration will apply to all currencies.

Pattern: ^[A-Z]{3}$
Example:

"USD"

Response

Successful Response

merchant_acquirer_bin
string
required

Acquirer BIN to use when calling 3DS through this scheme.

Maximum string length: 11
Example:

"516327"

merchant_acquirer_id
string
required

Merchant ID to use when calling 3DS through this scheme.

Maximum string length: 35
Example:

"123456789012345"

merchant_name
string
required
Maximum string length: 40
Example:

"Acme Inc."

merchant_country_code
string
required

The merchant's ISO 3166-1 numeric country code.

Example:

"840"

merchant_category_code
string
required

Merchant category code to use when calling 3DS through this scheme.

Required string length: 4
Example:

"1234"

merchant_url
string
required

URL to send when calling 3DS through this scheme.

Example:

"https://example.com"

id
string<uuid>
required

Unique identifier for the 3DS configuration

merchant_account_id
string
required

ID of the associated merchant account

created_at
string<date-time>
required

The date and time when this 3DS configuration was first created in our system.

Example:

"2013-07-16T19:23:00.000+00:00"

updated_at
string<date-time>
required

The date and time when this 3DS configuration was last updated in our system.

Example:

"2013-07-16T19:23:00.000+00:00"

scheme
enum<string>
required

The card scheme for this 3DS configuration

Available options:
accel,
amex,
bancontact,
carte-bancaire,
cirrus,
culiance,
dankort,
diners-club,
discover,
eftpos-australia,
elo,
hipercard,
jcb,
maestro,
mastercard,
mir,
nyce,
other,
pulse,
qcard,
rupay,
star,
uatp,
unionpay,
visa
currency
string | null
required

ISO 4217 currency code (3 characters). If null, the configuration applies to all currencies.

Pattern: ^[A-Z]{3}$
Example:

"USD"

metadata
Metadata · object
required

Additional information about the 3DS configuration, stored as key-value pairs.

type
string
default:merchant-account.three-ds-configuration

Always merchant-account.three-ds-configuration.

Allowed value: "merchant-account.three-ds-configuration"
Example:

"merchant-account.three-ds-configuration"