Skip to main content
GET
/
payment-links
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"
);

ListPaymentLinksRequest req = new ListPaymentLinksRequest() {};

ListPaymentLinksResponse? res = await sdk.PaymentLinks.ListAsync(req);

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.PaymentLinks.List(ctx, nil, gr4vygo.Pointer[int64](20), nil)
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.ListPaymentLinksRequest;
import com.gr4vy.sdk.models.operations.ListPaymentLinksResponse;
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();

ListPaymentLinksRequest req = ListPaymentLinksRequest.builder()
.build();


sdk.paymentLinks().list()
.callAsStream()
.forEach((ListPaymentLinksResponse 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();

$request = new Gr4vy\ListPaymentLinksRequest();

$responses = $sdk->paymentLinks->list(
request: $request
);


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())
) as g_client:

res = g_client.payment_links.list(limit=20)

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.paymentLinks.list();

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

run();
curl --request GET \
--url https://api.sandbox.{id}.gr4vy.app/payment-links \
--header 'Authorization: Bearer <token>'
{
  "items": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "url": "<string>",
      "amount": 49999999,
      "country": "<string>",
      "currency": "<string>",
      "cart_items": [
        {
          "amount": {
            "currency": "USD",
            "value": 500
          },
          "name": "Widget",
          "quantity": 2
        }
      ],
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "type": "payment-link",
      "expires_at": "2024-06-01T00:00:00.000Z",
      "external_identifier": "external-12345",
      "statement_descriptor": {
        "name": "ACME",
        "description": "ACME San Jose Electronics",
        "city": "San Jose",
        "country": "US",
        "phone_number": "+1234567890",
        "url": "www.example.com",
        "postal_code": "94560"
      },
      "locale": "en",
      "merchant_name": "ACME Inc.",
      "merchant_url": "https://merchant.example.com",
      "merchant_banner_url": "https://merchant.example.com/banner.png",
      "merchant_color": "#FF5733",
      "merchant_message": "Thank you for your purchase!",
      "merchant_terms_and_conditions_url": "https://merchant.example.com/terms",
      "merchant_favicon_url": "https://merchant.example.com/favicon.ico",
      "return_url": "https://merchant.example.com/return",
      "metadata": {
        "order_id": "ORD-12345"
      },
      "buyer": {
        "type": "buyer",
        "id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
        "display_name": "John Doe",
        "external_identifier": "buyer-12345",
        "billing_details": {
          "first_name": "John",
          "last_name": "Doe",
          "email_address": "john@example.com",
          "phone_number": "+1234567890",
          "address": {
            "city": "San Jose",
            "country": "US",
            "postal_code": "94560",
            "state": "California",
            "state_code": "US-CA",
            "house_number_or_name": "10",
            "line1": "Stafford Appartments",
            "line2": "29th Street",
            "organization": "Gr4vy"
          },
          "tax_id": {
            "value": "<string>"
          }
        },
        "account_number": "<string>"
      },
      "shipping_details": {
        "first_name": "John",
        "last_name": "Doe",
        "email_address": "john@example.com",
        "phone_number": "+1234567890",
        "address": {
          "city": "San Jose",
          "country": "US",
          "postal_code": "94560",
          "state": "California",
          "state_code": "US-CA",
          "house_number_or_name": "10",
          "line1": "Stafford Appartments",
          "line2": "29th Street",
          "organization": "Gr4vy"
        },
        "id": "bf8c36ad-02d9-4904-b0f9-a230b149e341",
        "buyer_id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
        "type": "shipping-details"
      },
      "connection_options": {},
      "store": false,
      "buyer_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
      "installment_count": 50
    }
  ],
  "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 payment-links.read scope.

Authorizations

Authorization
string
header
required

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

Headers

x-gr4vy-merchant-account-id
string

The ID of the merchant account to use for this request.

Example:

"default"

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 returned.

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

20

created_at_lte
string<date-time> | null

Filters the results to only payment links created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. 2022-01-01T12:00:00+08:00 must be encoded as 2022-01-01T12%3A00%3A00%2B08%3A00.

Example:

"2022-01-01T12:00:00+08:00"

created_at_gte
string<date-time> | null

Filters the results to only payment links created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. 2022-01-01T12:00:00+08:00 must be encoded as 2022-01-01T12%3A00%3A00%2B08%3A00.

Example:

"2022-01-01T12:00:00+08:00"

updated_at_lte
string<date-time> | null

Filters the results to only payment links updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. 2022-01-01T12:00:00+08:00 must be encoded as 2022-01-01T12%3A00%3A00%2B08%3A00.

Example:

"2022-01-01T12:00:00+08:00"

updated_at_gte
string<date-time> | null

Filters the results to only payment links updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. 2022-01-01T12:00:00+08:00 must be encoded as 2022-01-01T12%3A00%3A00%2B08%3A00.

Example:

"2022-01-01T12:00:00+08:00"

currency
string[] | null

Filters for payment links that have matching currency values. The currency values provided must be formatted as 3-letter ISO currency codes.

Pattern: ^[A-Z]{3}$
Example:
["USD"]
amount_eq
integer | null

Filters for payment links that have an amount equal to this value.

Required range: 0 <= x <= 2147483647
Example:

1299

amount_gte
integer | null

Filters for payment links that have an amount greater than or equal to this value.

Required range: 0 <= x <= 2147483647
Example:

1299

amount_lte
integer | null

Filters for payment links that have an amount less than or equal to this value.

Required range: 0 <= x <= 2147483647
Example:

1299

status
enum<string>[] | null

Filters the results to only the payment links that have a status that matches with any of the provided status values.

Available options:
active,
completed,
expired,
processing
Example:

"active"

buyer_search
string[] | null

Filters the results to only get the items for which some of the buyer data contains exactly the provided buyer_search values.

Example:
["John", "London"]

Response

Successful Response

items
PaymentLink · 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"