Skip to main content
GET
/
merchant-accounts
C#
using Gr4vy;
using Gr4vy.Models.Components;
using Gr4vy.Models.Requests;

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

ListMerchantAccountsResponse? res = await sdk.MerchantAccounts.ListAsync(
    cursor: "ZXhhbXBsZTE",
    limit: 20,
    search: "merchant-12345"
);

while(res != null)
{
    // handle items

    res = await res.Next!();
}
package main

import(
	"context"
	"os"
	gr4vygo "github.com/gr4vy/gr4vy-go"
	"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.List(ctx, gr4vygo.Pointer("ZXhhbXBsZTE"), gr4vygo.Pointer[int64](20), gr4vygo.Pointer("merchant-12345"))
    if err != nil {
        log.Fatal(err)
    }
    if res != nil {
        for {
            // handle items

            res, err = res.Next()

            if err != nil {
                // handle error
            }

            if res == nil {
                break
            }
        }
    }
}
package hello.world;

import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.ListMerchantAccountsResponse;
import java.lang.Exception;

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();


        sdk.merchantAccounts().list()
                .cursor("ZXhhbXBsZTE")
                .limit(20L)
                .search("merchant-12345")
                .callAsStream()
                .forEach((ListMerchantAccountsResponse item) -> {
                   // handle page
                });

    }
}
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();



$responses = $sdk->merchantAccounts->list(
    cursor: 'ZXhhbXBsZTE',
    limit: 20,
    search: 'merchant-12345'

);


foreach ($responses as $response) {
    if ($response->statusCode === 200) {
        // 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.list(cursor="ZXhhbXBsZTE", limit=20, search="merchant-12345")

    while res is not None:
        # Handle items

        res = res.next()
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.list();

  for await (const page of result) {
    console.log(page);
  }
}

run();
curl --request GET \
  --url https://api.sandbox.{id}.gr4vy.app/merchant-accounts \
  --header 'Authorization: Bearer <token>'
{
  "items": [
    {
      "id": "<string>",
      "display_name": "<string>",
      "account_updater_enabled": true,
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "type": "merchant-account",
      "loon_client_key": "client-key-1234",
      "loon_secret_key": "key-12345",
      "loon_accepted_schemes": [
        "visa"
      ],
      "loon_merchant_account_id": "loon-merchant-account-1234",
      "account_updater_request_encryption_key": "key-1234",
      "account_updater_request_encryption_key_id": "key-id-1234",
      "account_updater_response_decryption_key": "key-1234",
      "account_updater_response_decryption_key_id": "key-id-1234",
      "over_capture_amount": 1299,
      "over_capture_percentage": 25,
      "visa_network_tokens_requestor_id": "id-12345",
      "visa_network_tokens_app_id": "id-12345",
      "amex_network_tokens_requestor_id": "id-12345",
      "amex_network_tokens_app_id": "id-12345",
      "mastercard_network_tokens_requestor_id": "id-12345",
      "mastercard_network_tokens_app_id": "id-12345",
      "discover_network_tokens_requestor_id": "id-12345",
      "discover_network_tokens_app_id": "id-12345",
      "async_network_tokens_enabled": false
    }
  ],
  "limit": 20,
  "next_cursor": "ZXhhbXBsZTE",
  "previous_cursor": "Xkjss7asS"
}
{
  "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.read scope.

Authorizations

Authorization
string
header
required

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

Query Parameters

cursor
string | null

A pointer to the page of results to return.

Example:

"ZXhhbXBsZTE"

limit
integer
default:20

The maximum number of items that are at returned.

Required range: 1 <= x <= 100
Example:

20

search
string | null

The search term to filter merchant accounts by.

Example:

"merchant-12345"

Response

Successful Response

items
MerchantAccount · object[]
required

A list of items returned for this request.

limit
integer
default:20

The number of items for this page.

Required range: 1 <= x <= 100
Example:

20

next_cursor
string | null

The cursor pointing at the next page of items.

Required string length: 1 - 1000
Example:

"ZXhhbXBsZTE"

previous_cursor
string | null

The cursor pointing at the previous page of items.

Required string length: 1 - 1000
Example:

"Xkjss7asS"