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"
"github.com/gr4vy/gr4vy-go/models/operations"
"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, operations.ListPaymentLinksRequest{})
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(
merchant_account_id="default",
bearer_auth=os.getenv("GR4VY_BEARER_AUTH"),
) 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": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"url": "https://example.com/link/a1b2c3d4-5678-90ab-cdef-1234567890ab",
"amount": 1299,
"country": "DE",
"currency": "EUR",
"intent": "authorize",
"cart_items": [
{
"amount": {
"currency": "USD",
"value": 500
},
"name": "Widget",
"quantity": 2
}
],
"airline": {
"booking_code": "X36Q9C",
"is_cardholder_traveling": true,
"issued_address": "123 Broadway, New York",
"issued_at": "2013-07-16T19:23:00.000+00:00",
"issuing_carrier_code": "649",
"issuing_carrier_name": "Air Transat A.T. Inc",
"issuing_iata_designator": "TS",
"issuing_icao_code": "TSC",
"legs": [
{
"arrival_airport": "LAX",
"arrival_at": "2013-07-16T19:23:00.000+00:00",
"arrival_city": "Los Angeles",
"arrival_country": "US",
"carrier_code": "649",
"carrier_name": "Air Transat A.T. Inc",
"iata_designator": "TS",
"icao_code": "TSC",
"coupon_number": "15885566",
"departure_airport": "LHR",
"departure_at": "2013-07-16T19:23:00.000+00:00",
"departure_city": "London",
"departure_country": "GB",
"departure_tax_amount": 1200,
"fare_amount": 129900,
"fare_basis_code": "FY",
"fee_amount": 1200,
"flight_class": "E",
"flight_number": "101",
"route_type": "round_trip",
"seat_class": "F",
"stop_over": false,
"tax_amount": 1200
}
],
"passenger_name_record": "JOHN L",
"passengers": [
{
"age_group": "adult",
"date_of_birth": "2013-07-16",
"email_address": "john@example.com",
"first_name": "John",
"frequent_flyer_number": "15885566",
"last_name": "Luhn",
"passport_number": "11117700225",
"phone_number": "+1234567890",
"ticket_number": "BA1236699999",
"title": "Mr.",
"country_code": "US"
}
],
"reservation_system": "Amadeus",
"restricted_ticket": false,
"ticket_delivery_method": "electronic",
"ticket_number": "123-1234-151555",
"travel_agency_code": "12345",
"travel_agency_invoice_number": "EG15555155",
"travel_agency_name": "ACME Agency",
"travel_agency_plan_name": "B733"
},
"payment_source": "ecommerce",
"created_at": "2024-05-30T12:34:56.000Z",
"updated_at": "2024-05-30T13:00:00.000Z",
"status": "active",
"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",
"reconciliation_id": "7jZXl4gBUNl0CnaLEnfXbt",
"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": "12345678931",
"kind": "us.ein"
}
},
"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": "Request failed validation",
"details": []
}{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Request failed validation",
"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": "Request failed validation",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Request failed validation",
"details": []
}{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Request failed validation",
"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": []
}List all payment links
List all created payment links.
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"
"github.com/gr4vy/gr4vy-go/models/operations"
"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, operations.ListPaymentLinksRequest{})
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(
merchant_account_id="default",
bearer_auth=os.getenv("GR4VY_BEARER_AUTH"),
) 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": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"url": "https://example.com/link/a1b2c3d4-5678-90ab-cdef-1234567890ab",
"amount": 1299,
"country": "DE",
"currency": "EUR",
"intent": "authorize",
"cart_items": [
{
"amount": {
"currency": "USD",
"value": 500
},
"name": "Widget",
"quantity": 2
}
],
"airline": {
"booking_code": "X36Q9C",
"is_cardholder_traveling": true,
"issued_address": "123 Broadway, New York",
"issued_at": "2013-07-16T19:23:00.000+00:00",
"issuing_carrier_code": "649",
"issuing_carrier_name": "Air Transat A.T. Inc",
"issuing_iata_designator": "TS",
"issuing_icao_code": "TSC",
"legs": [
{
"arrival_airport": "LAX",
"arrival_at": "2013-07-16T19:23:00.000+00:00",
"arrival_city": "Los Angeles",
"arrival_country": "US",
"carrier_code": "649",
"carrier_name": "Air Transat A.T. Inc",
"iata_designator": "TS",
"icao_code": "TSC",
"coupon_number": "15885566",
"departure_airport": "LHR",
"departure_at": "2013-07-16T19:23:00.000+00:00",
"departure_city": "London",
"departure_country": "GB",
"departure_tax_amount": 1200,
"fare_amount": 129900,
"fare_basis_code": "FY",
"fee_amount": 1200,
"flight_class": "E",
"flight_number": "101",
"route_type": "round_trip",
"seat_class": "F",
"stop_over": false,
"tax_amount": 1200
}
],
"passenger_name_record": "JOHN L",
"passengers": [
{
"age_group": "adult",
"date_of_birth": "2013-07-16",
"email_address": "john@example.com",
"first_name": "John",
"frequent_flyer_number": "15885566",
"last_name": "Luhn",
"passport_number": "11117700225",
"phone_number": "+1234567890",
"ticket_number": "BA1236699999",
"title": "Mr.",
"country_code": "US"
}
],
"reservation_system": "Amadeus",
"restricted_ticket": false,
"ticket_delivery_method": "electronic",
"ticket_number": "123-1234-151555",
"travel_agency_code": "12345",
"travel_agency_invoice_number": "EG15555155",
"travel_agency_name": "ACME Agency",
"travel_agency_plan_name": "B733"
},
"payment_source": "ecommerce",
"created_at": "2024-05-30T12:34:56.000Z",
"updated_at": "2024-05-30T13:00:00.000Z",
"status": "active",
"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",
"reconciliation_id": "7jZXl4gBUNl0CnaLEnfXbt",
"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": "12345678931",
"kind": "us.ein"
}
},
"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": "Request failed validation",
"details": []
}{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Request failed validation",
"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": "Request failed validation",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Request failed validation",
"details": []
}{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Request failed validation",
"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": []
}payment-links.read scope.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The ID of the merchant account to use for this request.
"default"
Query Parameters
A pointer to the page of results to return.
"ZXhhbXBsZTE"
The maximum number of items that are returned.
1 <= x <= 10020
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.
"2022-01-01T12:00:00+08:00"
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.
"2022-01-01T12:00:00+08:00"
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.
"2022-01-01T12:00:00+08:00"
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.
"2022-01-01T12:00:00+08:00"
Filters for payment links that have matching currency values. The currency values provided must be formatted as 3-letter ISO currency codes.
^[A-Z]{3}$["USD"]
Filters for payment links that have an amount equal to this value.
0 <= x <= 21474836471299
Filters for payment links that have an amount greater than or equal to this value.
0 <= x <= 21474836471299
Filters for payment links that have an amount less than or equal to this value.
0 <= x <= 21474836471299
Filters the results to only the payment links that have a status that matches with any of the provided status values.
active, completed, expired, processing "active"
Filters the results to only get the items for which some of the buyer data contains exactly the provided buyer_search values.
["John", "London"]
Response
Successful Response
A list of items returned for this request.
Show child attributes
Show child attributes
The number of items for this page.
1 <= x <= 10020
The cursor pointing at the next page of items.
1 - 1000"ZXhhbXBsZTE"
The cursor pointing at the previous page of items.
1 - 1000"Xkjss7asS"