> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get payment link

> Fetch the details for a payment link.

This endpoint requires the `payment-links.read` scope.


## OpenAPI

````yaml /openapi.speakeasy.json GET /payment-links/{payment_link_id}
openapi: 3.1.0
info:
  title: Gr4vy
  description: The Gr4vy API.
  version: 1.0.0
servers:
  - url: https://api.sandbox.{id}.gr4vy.app
    x-speakeasy-server-id: sandbox
    variables:
      id:
        default: example
        description: The subdomain for your Gr4vy instance.
  - url: https://api.{id}.gr4vy.app
    x-speakeasy-server-id: production
    variables:
      id:
        default: example
        description: The subdomain for your Gr4vy instance.
security:
  - bearerAuth: []
tags:
  - name: 3DS scenarios
    description: Manage and create 3DS scenarios in sandbox.
  - name: Account updater
    description: Schedule stored cards for an account update.
  - name: Audit logs
    description: Query user activity.
  - name: Buyers
    description: Manage buyers.
  - name: Buyers - Gift cards
    description: Query gift cards for buyers.
  - name: Buyers - Payment methods
    description: Query payment methods for buyers.
  - name: Buyers - Shipping details
    description: Manage shipping details for buyers.
  - name: Card details
    description: Returns information about a card.
  - name: Card scheme definitions
    description: List definitions for card schemes.
  - name: Checkout sessions
    description: Manage checkout sessions.
  - name: Digital wallets - Sessions
    description: Create sessions for digital wallets like Apple Pay and Google Pay.
  - name: Digital wallets - Setup
    description: Manage digital wallets like Apple Pay and Google Pay.
  - name: Gift cards
    description: Manage stored gift cards.
  - name: Insights
    description: Retrieve Insights data.
  - name: Insights - Presets
    description: Manage presets for Insights.
  - name: Merchant accounts
    description: Manage merchant accounts in an instance.
  - name: Merchant accounts - 3DS configuration
    description: Manage 3DS profiles for merchant accounts.
  - name: Monitoring
    description: Manage monitoring and alerting.
  - name: Payment links
    description: Manage payment links.
  - name: Payment methods
    description: Manage stored payment methods.
  - name: Payment methods - Definitions
    description: Manage payment method definitions.
  - name: Payment methods - Network tokens
    description: Manage network tokens for stored payment methods.
  - name: Payment methods - Payment service tokens
    description: Manage payment service tokens for stored payment methods.
  - name: Payment options
    description: Fetch a list of payment options to display at checkout.
  - name: Payment service definitions
    description: Fetch info about the definition of each payment service.
  - name: Payment services
    description: Manage configured payment services.
  - name: Payouts
    description: Payout API.
  - name: Refunds
    description: Manage transaction refunds.
  - name: Reports
    description: Manage one-off and scheduled reports.
  - name: Reports - Executions
    description: Manage executions of reports.
  - name: Transactions
    description: Manage transaction.
  - name: Transactions - Actions
    description: Read Flow actions triggered for a transaction.
  - name: Transactions - Chargebacks
    description: Read transaction chargeback data.
  - name: Transactions - Chargeback reversals
    description: Read transaction chargeback reversal data.
  - name: Transactions - Settlements
    description: Read transaction settlement data.
  - name: Transactions - Sessions
    description: Manage transaction session data.
  - name: Webhook subscriptions
    description: Manage webhook subscriptions.
paths:
  /payment-links/{payment_link_id}:
    get:
      tags:
        - Payment links
      summary: Get payment link
      description: Fetch the details for a payment link.
      operationId: get_payment_link
      parameters:
        - name: payment_link_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: The unique identifier for the payment link.
            examples:
              - a1b2c3d4-5678-90ab-cdef-1234567890ab
            title: Payment Link Id
          description: The unique identifier for the payment link.
        - name: x-gr4vy-merchant-account-id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: The ID of the merchant account to use for this request.
            examples:
              - default
            title: X-Gr4Vy-Merchant-Account-Id
          description: The ID of the merchant account to use for this request.
          x-speakeasy-name-override: merchantAccountId
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentLink'
        '400':
          description: The request was invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: The request was unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: >-
            The credentials were invalid or the caller did not have permission
            to act on the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '405':
          description: The request method was not allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405'
        '409':
          description: A duplicate record was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '425':
          description: The request was too early.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error425'
        '429':
          description: Too many requests were made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429'
        '500':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        '502':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error502'
        '504':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error504'
      x-codeSamples:
        - lang: javascript
          label: TypeScript
          source: |-
            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.get("a1b2c3d4-5678-90ab-cdef-1234567890ab");

              console.log(result);
            }

            run();
        - lang: python
          label: Python
          source: |-
            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.get(payment_link_id="a1b2c3d4-5678-90ab-cdef-1234567890ab")

                # Handle response
                print(res)
        - lang: go
          label: Go
          source: "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentLinks.Get(ctx, \"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
        - lang: php
          label: PHP
          source: |-
            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();



            $response = $sdk->paymentLinks->get(
                paymentLinkId: 'a1b2c3d4-5678-90ab-cdef-1234567890ab'
            );

            if ($response->paymentLink !== null) {
                // handle response
            }
        - lang: java
          label: Java
          source: |-
            package hello.world;

            import com.gr4vy.sdk.Gr4vy;
            import com.gr4vy.sdk.models.errors.*;
            import com.gr4vy.sdk.models.operations.GetPaymentLinkResponse;
            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();

                    GetPaymentLinkResponse res = sdk.paymentLinks().get()
                            .paymentLinkId("a1b2c3d4-5678-90ab-cdef-1234567890ab")
                            .call();

                    if (res.paymentLink().isPresent()) {
                        System.out.println(res.paymentLink().get());
                    }
                }
            }
        - lang: csharp
          label: C#
          source: >-
            using Gr4vy;

            using Gr4vy.Models.Components;


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


            var res = await sdk.PaymentLinks.GetAsync(paymentLinkId:
            "a1b2c3d4-5678-90ab-cdef-1234567890ab");


            // handle response
components:
  schemas:
    PaymentLink:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier for the payment link.
          examples:
            - a1b2c3d4-5678-90ab-cdef-1234567890ab
        type:
          type: string
          const: payment-link
          title: Type
          description: Always `payment-link`.
          default: payment-link
          examples:
            - payment-link
        url:
          type: string
          title: Url
          description: The URL for the payment link.
          examples:
            - https://example.com/link/a1b2c3d4-5678-90ab-cdef-1234567890ab
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: The expiration date and time for the payment link.
          examples:
            - '2024-06-01T00:00:00.000Z'
        external_identifier:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: External Identifier
          description: The merchant reference for the payment link.
          examples:
            - external-12345
        statement_descriptor:
          anyOf:
            - $ref: '#/components/schemas/StatementDescriptor'
            - type: 'null'
          description: The statement descriptor for the payment link.
        locale:
          anyOf:
            - type: string
            - type: 'null'
          title: Locale
          description: The locale for the payment link.
          examples:
            - en
            - en-GB
            - pt
            - pt-BR
            - es
        merchant_name:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: 'null'
          title: Merchant Name
          description: The merchant's display name.
          examples:
            - ACME Inc.
        merchant_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Url
          description: The merchant's website URL.
          examples:
            - https://merchant.example.com
        merchant_banner_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Banner Url
          description: The merchant's banner image URL.
          examples:
            - https://merchant.example.com/banner.png
        merchant_color:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: 'null'
          title: Merchant Color
          description: The merchant's brand color.
          examples:
            - '#FF5733'
        merchant_message:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Merchant Message
          description: A message from the merchant.
          examples:
            - Thank you for your purchase!
        merchant_terms_and_conditions_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Terms And Conditions Url
          description: URL to the merchant's terms and conditions.
          examples:
            - https://merchant.example.com/terms
        merchant_favicon_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Favicon Url
          description: URL to the merchant's favicon.
          examples:
            - https://merchant.example.com/favicon.ico
        amount:
          type: integer
          maximum: 99999999
          minimum: 0
          title: Amount
          description: The amount for the payment link.
          examples:
            - 1299
        country:
          type: string
          pattern: ^[A-Z]{2}$
          title: Country
          description: The country code for the payment link.
          examples:
            - DE
            - GB
            - US
        currency:
          type: string
          pattern: ^[A-Z]{3}$
          title: Currency
          description: The currency code for the payment link.
          examples:
            - EUR
            - GBP
            - USD
        intent:
          description: The transaction intent for the payment link.
          examples:
            - authorize
            - capture
          type: string
          enum:
            - authorize
            - capture
          title: TransactionIntent
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        return_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Return Url
          description: The return URL after payment completion.
          examples:
            - https://merchant.example.com/return
        cart_items:
          anyOf:
            - items:
                $ref: '#/components/schemas/CartItem'
              type: array
            - type: 'null'
          title: Cart Items
          description: The cart items for the payment link.
          examples:
            - - amount:
                  currency: USD
                  value: 500
                name: Widget
                quantity: 2
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
          description: Arbitrary metadata for the payment link.
          examples:
            - order_id: ORD-12345
        payment_source:
          description: The way payment method information made it to this transaction.
          examples:
            - ecommerce
          type: string
          enum:
            - ecommerce
            - moto
            - recurring
            - installment
            - card_on_file
          title: TransactionPaymentSource
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time the payment link was created.
          examples:
            - '2024-05-30T12:34:56.000Z'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: The date and time the payment link was last updated.
          examples:
            - '2024-05-30T13:00:00.000Z'
        status:
          description: The status of the payment link.
          examples:
            - active
            - expired
            - completed
          type: string
          enum:
            - active
            - completed
            - expired
            - processing
          title: PaymentLinkStatus
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        buyer:
          anyOf:
            - $ref: '#/components/schemas/TransactionBuyer'
            - type: 'null'
          description: The buyer associated with the payment link.
        shipping_details:
          anyOf:
            - $ref: '#/components/schemas/ShippingDetails'
            - type: 'null'
          description: The shipping details for the payment link.
        connection_options:
          anyOf:
            - additionalProperties:
                additionalProperties: true
                type: object
              type: object
            - type: 'null'
          title: Connection Options
          description: The connection options for the payment link.
        store:
          type: boolean
          title: Store
          description: Whether the payment method was stored.
          default: false
        buyer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Buyer Id
          description: The ID of the buyer to associate with the stored payment method.
          examples:
            - a1b2c3d4-5678-90ab-cdef-1234567890ab
        installment_count:
          anyOf:
            - type: integer
              maximum: 100
              minimum: 1
            - type: 'null'
          title: Installment Count
          description: The number of installments a buyer is required to make.
      additionalProperties: false
      type: object
      required:
        - id
        - url
        - amount
        - country
        - currency
        - intent
        - cart_items
        - payment_source
        - created_at
        - updated_at
        - status
      title: PaymentLink
    Error400:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `bad_request`
          default: bad_request
          examples:
            - bad_request
        status:
          type: integer
          title: Status
          description: Always `400`.
          default: 400
          examples:
            - 400
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error400
    Error401:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `unauthorized`
          default: unauthorized
          examples:
            - unauthorized
        status:
          type: integer
          title: Status
          description: Always `401`.
          default: 401
          examples:
            - 401
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: No valid API authentication found
          examples:
            - No valid API authentication found
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error401
    Error403:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `forbidden`
          default: forbidden
          examples:
            - forbidden
        status:
          type: integer
          title: Status
          description: Always `403`.
          default: 403
          examples:
            - 403
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error403
    Error404:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `not_found`
          default: not_found
          examples:
            - not_found
        status:
          type: integer
          title: Status
          description: Always `404`.
          default: 404
          examples:
            - 404
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: The resource could not be found
          examples:
            - The resource could not be found
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error404
    Error405:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `method_not_allowed`
          default: method_not_allowed
          examples:
            - method_not_allowed
        status:
          type: integer
          title: Status
          description: Always `405`.
          default: 405
          examples:
            - 405
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Method Not Allowed
          examples:
            - Method Not Allowed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error405
    Error409:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `duplicate_record`
          default: duplicate_record
          examples:
            - duplicate_record
        status:
          type: integer
          title: Status
          description: Always `409`.
          default: 409
          examples:
            - 409
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
        resource_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Resource Id
          description: The ID of the conflicting resource.
          examples:
            - cdc70639-cb9c-4222-a73f-b8ce39f7821b
      additionalProperties: false
      type: object
      title: Error409
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Error425:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `too_early`
          default: too_early
          examples:
            - too_early
        status:
          type: integer
          title: Status
          description: Always `425`.
          default: 425
          examples:
            - 425
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error425
    Error429:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `too_many_requests`
          default: too_many_requests
          examples:
            - too_many_requests
        status:
          type: integer
          title: Status
          description: Always `429`.
          default: 429
          examples:
            - 429
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error429
    Error500:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `server_error`
          default: server_error
          examples:
            - server_error
        status:
          type: integer
          title: Status
          description: Always `500`.
          default: 500
          examples:
            - 500
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error500
    Error502:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `bad_gateway`
          default: bad_gateway
          examples:
            - bad_gateway
        status:
          type: integer
          title: Status
          description: Always `502`.
          default: 502
          examples:
            - 502
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error502
    Error504:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `gateway_timeout`
          default: gateway_timeout
          examples:
            - gateway_timeout
        status:
          type: integer
          title: Status
          default: 504
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error504
    StatementDescriptor:
      properties:
        name:
          anyOf:
            - type: string
              maxLength: 22
              minLength: 5
            - type: 'null'
          title: Name
          description: Reflects your doing business as (DBA) name.
          examples:
            - ACME
        description:
          anyOf:
            - type: string
              maxLength: 22
              minLength: 5
            - type: 'null'
          title: Description
          description: A short description about the purchase.
          examples:
            - ACME San Jose Electronics
        city:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: City
          description: The merchant's city to be displayed in a statement descriptor.
          examples:
            - San Jose
        country:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}$
              examples:
                - DE
                - GB
                - US
            - type: 'null'
          title: Country
          description: >-
            The 2-letter ISO country code of the merchant to be displayed in a
            statement descriptor.
          examples:
            - US
        phone_number:
          anyOf:
            - type: string
              pattern: ^\+[1-9]\d{1,14}$
              examples:
                - '+14155552671'
                - '+442071838750'
            - type: 'null'
          title: Phone Number
          description: >-
            The value in the phone number field of a customer's statement which
            should be formatted according to the E164 number standard.
          examples:
            - '+1234567890'
        url:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Url
          description: The merchant's URL to be displayed in a statement descriptor.
          examples:
            - www.example.com
        postal_code:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Postal Code
          description: The merchant's postal code or zip code.
          examples:
            - '94560'
      additionalProperties: false
      type: object
      title: StatementDescriptor
      description: Information to show the user on their payments statement
    CartItem:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
          description: >-
            The name of the cart item. The value you set for this property may
            be truncated if the maximum length accepted by a payment service
            provider is less than 255 characters.
          examples:
            - GoPro HD
        quantity:
          type: integer
          maximum: 99999999
          exclusiveMinimum: 0
          title: Quantity
          description: >-
            The quantity of this item in the cart. This value cannot be negative
            or zero.
          examples:
            - 2
        unit_amount:
          type: integer
          maximum: 99999999
          minimum: 0
          title: Unit Amount
          description: >-
            The amount for an individual item represented as a monetary amount
            in the smallest currency unit for the given currency, for example
            `1299` USD cents represents `$12.99`. The amount sent through to the
            payment processor as unitary amount will be calculated to include
            the discount and tax values sent as part of this cart item.
          examples:
            - 1299
        discount_amount:
          anyOf:
            - type: integer
              maximum: 99999999
              minimum: 0
            - type: 'null'
          title: Discount Amount
          description: >-
            The amount discounted for this item represented as a monetary amount
            in the smallest currency unit for the given currency, for example
            `1299` USD cents represents `$12.99`.
          default: 0
          examples:
            - 0
        tax_amount:
          anyOf:
            - type: integer
              maximum: 99999999
              minimum: 0
            - type: 'null'
          title: Tax Amount
          description: >-
            The tax amount for this item represented as a monetary amount in the
            smallest currency unit for the given currency, for example `1299`
            USD cents represents `$12.99`.
          default: 0
          examples:
            - 0
        external_identifier:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: External Identifier
          description: >-
            An external identifier for the cart item. This can be set to any
            value and is not sent to the payment service.
          examples:
            - goprohd
        sku:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: Sku
          description: The SKU or product code for the item.
          examples:
            - GPHD1078
        upc:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Upc
          description: The UPC for the item.
          examples:
            - '012345678905'
        product_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Product Url
          description: The product URL for the item.
          examples:
            - https://example.com/catalog/go-pro-hd
        image_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Image Url
          description: The URL for the image of the item.
          examples:
            - https://example.com/images/go-pro-hd.jpg
        categories:
          anyOf:
            - items:
                type: string
                maxLength: 50
                minLength: 1
              type: array
            - type: 'null'
          title: Categories
          description: A list of strings containing product categories for the item.
          examples:
            - - camera
              - travel
              - gear
        product_type:
          anyOf:
            - type: string
              enum:
                - physical
                - discount
                - shipping_fee
                - sales_tax
                - digital
                - gift_card
                - store_credit
                - surcharge
              title: ProductType
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: The product type of the cart item.
          examples:
            - physical
        seller_country:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}$
              examples:
                - DE
                - GB
                - US
            - type: 'null'
          title: Seller Country
          description: The seller country of the cart item.
          examples:
            - US
            - GB
        tax_exempt:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Tax Exempt
          description: Whether the item is exempt of tax.
          examples:
            - false
        unit_of_measure:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Unit Of Measure
          description: The unit of measure or the unit of measure code.
          examples:
            - feet
            - kg
        commodity_code:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Commodity Code
          description: Item commodity code. Generally a UNSPSC code.
          examples:
            - '43211503'
            - '84111502'
        description:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Description
          description: Brief item description.
          examples:
            - A brief description of an interesting item.
        duty_amount:
          anyOf:
            - type: integer
              maximum: 99999999
              minimum: 0
            - type: 'null'
          title: Duty Amount
          description: >-
            Item import or export duties represented as a monetary amount in the
            smallest currency unit for the given currency, for example `1299`
            cents to create an authorization for `$12.99`
          examples:
            - 1299
        shipping_amount:
          anyOf:
            - type: integer
              maximum: 99999999
              minimum: 0
            - type: 'null'
          title: Shipping Amount
          description: >-
            Freight/shipping amount represented as a monetary amount in the
            smallest currency unit for the given currency, for example `1299`
            cents to create an authorization for `$12.99`
          examples:
            - 1299
      additionalProperties: false
      type: object
      required:
        - name
        - quantity
        - unit_amount
      title: CartItem
    TransactionBuyer:
      properties:
        type:
          type: string
          const: buyer
          title: Type
          description: Always `buyer`.
          default: buyer
          examples:
            - buyer
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The ID for the buyer.
          examples:
            - fe26475d-ec3e-4884-9553-f7356683f7f9
        display_name:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: Display Name
          description: The display name for the buyer.
          examples:
            - John Doe
        external_identifier:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: External Identifier
          description: The merchant identifier for this buyer.
          examples:
            - buyer-12345
        billing_details:
          anyOf:
            - $ref: '#/components/schemas/BillingDetails'
            - type: 'null'
          description: The billing name, address, email, and other fields for this buyer.
        account_number:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: Account Number
          description: The buyer account number.
      additionalProperties: false
      type: object
      title: TransactionBuyer
    ShippingDetails:
      properties:
        first_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: First Name
          description: The first name(s) or given name for the buyer.
          examples:
            - John
        last_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Last Name
          description: The last name, or family name, of the buyer.
          examples:
            - Doe
        email_address:
          anyOf:
            - type: string
              maxLength: 320
              minLength: 1
            - type: 'null'
          title: Email Address
          description: The email address for the buyer.
          examples:
            - john@example.com
        phone_number:
          anyOf:
            - type: string
              pattern: ^\+[1-9]\d{1,14}$
              examples:
                - '+14155552671'
                - '+442071838750'
            - type: 'null'
          title: Phone Number
          description: >-
            The phone number for the buyer which should be formatted according
            to the E164 number standard.
          examples:
            - '+1234567890'
        address:
          anyOf:
            - $ref: '#/components/schemas/Address'
            - type: 'null'
          description: The billing address for the buyer.
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The ID for the shipping details.
          examples:
            - bf8c36ad-02d9-4904-b0f9-a230b149e341
        buyer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Buyer Id
          description: The ID for the buyer.
          examples:
            - fe26475d-ec3e-4884-9553-f7356683f7f9
        type:
          type: string
          const: shipping-details
          title: Type
          description: Always `shipping-details`.
          default: shipping-details
          examples:
            - shipping-details
      additionalProperties: false
      type: object
      title: ShippingDetails
    ErrorDetail:
      properties:
        location:
          description: >-
            The part of the request where the property can be found that caused
            the error.
          examples:
            - body
          type: string
          enum:
            - query
            - body
            - path
            - header
            - unknown
          title: ErrorLocation
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        pointer:
          anyOf:
            - type: string
              format: json-pointer
            - type: string
          title: Pointer
          description: A JSON pointer for the particular property that caused the error.
          examples:
            - /currency
        message:
          type: string
          title: Message
          description: A human-readdable explanation of the error.
          examples:
            - 'Unknown ISO 4217 currency code: USX'
        type:
          type: string
          title: Type
          description: The type of error that was raised for this property.
          examples:
            - value_error
      additionalProperties: false
      type: object
      required:
        - location
        - pointer
        - message
        - type
      title: ErrorDetail
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    BillingDetails:
      properties:
        first_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: First Name
          description: The first name(s) or given name for the buyer.
          examples:
            - John
        last_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Last Name
          description: The last name, or family name, of the buyer.
          examples:
            - Doe
        email_address:
          anyOf:
            - type: string
              maxLength: 320
              minLength: 1
            - type: 'null'
          title: Email Address
          description: The email address for the buyer.
          examples:
            - john@example.com
        phone_number:
          anyOf:
            - type: string
              pattern: ^\+[1-9]\d{1,14}$
              examples:
                - '+14155552671'
                - '+442071838750'
            - type: 'null'
          title: Phone Number
          description: >-
            The phone number for the buyer which should be formatted according
            to the E164 number standard.
          examples:
            - '+1234567890'
        address:
          anyOf:
            - $ref: '#/components/schemas/Address'
            - type: 'null'
          description: The billing address for the buyer.
        tax_id:
          anyOf:
            - $ref: '#/components/schemas/TaxId'
            - type: 'null'
          description: The tax ID information associated with the billing details.
      additionalProperties: false
      type: object
      title: BillingDetails
    Address:
      properties:
        city:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: 'null'
          title: City
          description: The city for the address.
          examples:
            - San Jose
        country:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}$
              examples:
                - DE
                - GB
                - US
            - type: 'null'
          title: Country
          description: The country for the address in ISO 3166 format.
          examples:
            - US
        postal_code:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Postal Code
          description: The postal code or zip code for the address.
          examples:
            - '94560'
        state:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: State
          description: The state, county, or province for the address.
          examples:
            - California
        state_code:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$
              examples:
                - GB-LND
                - US-CA
            - type: 'null'
          title: State Code
          description: >-
            The code of state, county, or province for the address in ISO 3166-2
            format.
          examples:
            - US-CA
        house_number_or_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: House Number Or Name
          description: >-
            The house number or name for the address. Not all payment services
            use this field but some do.
          examples:
            - '10'
        line1:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Line1
          description: The first line of the address.
          examples:
            - Stafford Appartments
        line2:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Line2
          description: The second line of the address.
          examples:
            - 29th Street
        organization:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Organization
          description: >-
            The optional name of the company or organisation to add to the
            address.
          examples:
            - Gr4vy
      additionalProperties: false
      type: object
      title: Address
    TaxId:
      properties:
        value:
          type: string
          maxLength: 50
          minLength: 1
          title: Value
          description: The tax ID for the buyer.
          examples:
            - '12345678931'
        kind:
          description: The kind of tax ID
          examples:
            - us.ein
          type: string
          enum:
            - ae.trn
            - au.abn
            - ar.dni
            - ar.cuil
            - ar.cuit
            - br.cnpj
            - br.cpf
            - ca.bn
            - ca.gst_hst
            - ca.pst_bc
            - ca.pst_mb
            - ca.pst_sk
            - ca.qst
            - ch.vat
            - cl.tin
            - co.itin
            - co.nit
            - co.cc
            - co.ce
            - co.de
            - co.rc
            - co.ti
            - co.passport
            - es.cif
            - eu.vat
            - gb.vat
            - hk.br
            - id.nik
            - id.npwp
            - in.gst
            - in.pan
            - jp.cn
            - jp.rn
            - kr.brn
            - li.uid
            - mx.curp
            - mx.rfc
            - my.frp
            - my.itn
            - my.nric
            - my.sst
            - no.vat
            - nz.gst
            - pe.ruc
            - ph.tin
            - ru.inn
            - ru.kpp
            - sa.vat
            - sg.gst
            - sg.uen
            - th.id
            - th.vat
            - tw.vat
            - us.ein
            - za.vat
            - bo.ci
            - uy.rut
            - uy.ci
          title: TaxIdKind
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
      additionalProperties: false
      type: object
      required:
        - value
        - kind
      title: TaxId
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````