List payment links

List all the payment links created under a Moov account.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.read scope.

GET
/accounts/{accountID}/payment-links
cURL TypeScript PHP Python Java Ruby
1
2
3
curl -X GET "https://api.moov.io/accounts/{accountID}/payment-links" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2024.01.00" \
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import { SDK } from "openapi";

const sdk = new SDK({
  xMoovVersion: "v2024.01.00",
});

async function run() {
  const result = await sdk.paymentLinks.list({
    accountID: "d1039e6d-21ee-4a29-8adf-1dd2a6625a0d",
  });

  console.log(result);
}

run();
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
declare(strict_types=1);

require 'vendor/autoload.php';

use OpenAPI\OpenAPI;

$sdk = OpenAPI\SDK::builder()
    ->setXMoovVersion('v2024.01.00')
    ->build();



$response = $sdk->paymentLinks->list(
    accountID: 'd1039e6d-21ee-4a29-8adf-1dd2a6625a0d'
);

if ($response->paymentLinks !== null) {
    // handle response
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from openapi import SDK


with SDK(
    x_moov_version="v2024.01.00",
) as sdk:

    res = sdk.payment_links.list(account_id="d1039e6d-21ee-4a29-8adf-1dd2a6625a0d")

    # Handle response
    print(res)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package hello.world;

import java.lang.Exception;
import org.openapis.openapi.SDK;
import org.openapis.openapi.models.operations.ListPaymentLinksResponse;

public class Application {

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

        SDK sdk = SDK.builder()
                .xMoovVersion("v2024.01.00")
            .build();

        ListPaymentLinksResponse res = sdk.paymentLinks().list()
                .accountID("d1039e6d-21ee-4a29-8adf-1dd2a6625a0d")
                .call();

        if (res.paymentLinks().isPresent()) {
            // handle response
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
require 'openapi'

Models = ::OpenApiSDK::Models
s = ::OpenApiSDK::SDK.new(
      x_moov_version: 'v2024.01.00',
    )

res = s.payment_links.list(account_id: 'd1039e6d-21ee-4a29-8adf-1dd2a6625a0d')

unless res.payment_links.nil?
  # handle response
end
200 401 403 429 500 504
The request completed successfully.
application/json
[
  {
    "code": "3QLHtONjd5",
    "paymentLinkType": "payment",
    "mode": "sandbox",
    "status": "active",
    "partnerAccountID": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "merchantAccountID": "34233b72-780c-4e0e-8b08-cbbe1bc878f8",
    "ownerAccountID": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "merchantPaymentMethodID": "4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e",
    "link": "https://moov.link/p/3QLHtONjd5",
    "amount": {
      "currency": "USD",
      "value": 10000
    },
    "uses": 0,
    "display": {
      "title": "Example Payment Link",
      "description": "This is an example payment link.",
      "callToAction": "pay"
    },
    "customer": {
      "requirePhone": true
    },
    "payment": {
      "allowedMethods": [
        "card-payment",
        "ach-debit-collect"
      ]
    },
    "updatedOn": "2025-01-09T17:09:13.33Z",
    "createdOn": "2025-01-09T17:09:13.33Z"
  }
]

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string <uuid> required
A unique identifier used to trace requests.

Headers

X-Moov-Version

string

Specify an API version.

API versioning follows the format vYYYY.QQ.BB, where

  • YYYY is the year
  • QQ is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
  • BB is the build number, starting at .01, for subsequent builds in the same quarter.
    • For example, v2024.01.00 is the initial release of the first quarter of 2024.

The latest version represents the most recent development state. It may include breaking changes and should be treated as a beta release. When no version is specified, the API defaults to v2024.01.00.

Path parameters

accountID

string <uuid> required
The merchant account ID.

Query parameters

skip

integer <int64>

count

integer <int64>
Default: 200

type

string
Possible values: payment, payout

status

string
Possible values: active, used, disabled, expired

Response

application/json

amount

object
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

value

integer<int64> required

Quantity in the smallest unit of the specified currency.

In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.

code

string
Unique code identifying this payment link.

createdOn

string<date-time>

customer

object
Show child attributes

metadata

object
Optional free-form metadata for the Moov account that will represent this customer.

requireAddress

boolean
If true, a billing address is required when completing the payment form.

requirePhone

boolean
If true, a phone number is required when completing the payment form.

disabledOn

string<date-time>

display

object
Customizable display options for a payment link.
Show child attributes

callToAction

string<enum> required

The text to be displayed on web form's submit button.

If set to "auto" the UI will automatically select between "pay" and "confirm" for payments and payouts respectively.

Possible values: pay, book, subscribe, donate, confirm, auto

description

string required
A payment description displayed to the user.

title

string required
The payment page title displayed to the user.

expiresOn

string<date-time>
An optional expiration date for this payment link.

lastUsedOn

string<date-time>
The timestamp when this payment link was last used.

lineItems

object
An optional collection of line items for a payment link. When line items are provided, their total plus sales tax must equal the payment link amount.
Show child attributes

items

array required
The list of line items.
Show child attributes

basePrice

object
The base price of the item before applying option modifiers.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

images

array
Optional list of images associated with this line item.
Show child attributes

altText

string <=125 characters
Alternative text for the image.

imageID

string<uuid>
Unique identifier for a image resource.

link

string<uri>
The image's public URL.

publicID

string Pattern
A unique identifier for an image, used in public image links.

name

string [1 to 150] characters
The name of the item.

options

array
Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
Show child attributes

group

string <=100 characters
Optional group identifier to categorize related options (e.g., 'toppings').

images

array
Optional list of images associated with this line item option.
Show child attributes

altText

string <=125 characters
Alternative text for the image.

imageID

string<uuid>
Unique identifier for a image resource.

link

string<uri>
The image's public URL.

publicID

string Pattern
A unique identifier for an image, used in public image links.

name

string [1 to 150] characters
The name of the option or modifier.

priceModifier

object
Optional price modification applied by this option. Can be positive, negative, or zero.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

quantity

integer<int32>
The quantity of this option.

productID

string<uuid>
Optional unique identifier associating the line item with a product.

quantity

integer<int32>
The quantity of this item.

link

string<uri>
Link to the payment landing page for this payment link.

maxUses

integer<int64>

An optional limit on the number of times this payment link can be used.

For payouts, maxUses is always 1.

merchantAccountID

string<uuid>
The merchant's Moov account ID.

merchantPaymentMethodID

string<uuid>
The merchant's preferred payment method ID. Must be a wallet payment method.

mode

string<enum>
The operating mode for an account.
Possible values: sandbox, production

ownerAccountID

string<uuid>
The payment link's owner's Moov account ID.

partnerAccountID

string<uuid>
The partner's Moov account ID.

payment

object
Options for payment links used to collect payment.
Show child attributes

allowedMethods

array required
A list of payment methods that should be supported for this payment link.
Possible values: apple-pay, card-payment, ach-debit-collect

achDetails

object
Options for payment links used to collect an ACH payment.
Show child attributes

companyEntryDescription

string [4 to 10] characters
An optional override of the default NACHA company entry description for a transfer.

originatingCompanyName

string [4 to 16] characters
An optional override of the default NACHA company name for a transfer.

cardDetails

object
Options for payment links used to collect a card payment.
Show child attributes

dynamicDescriptor

string [4 to 22] characters
An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.

metadata

object
Optional free-form metadata for the transfer.

paymentLinkType

string<enum>
Possible values: payment, payout

payout

object
Show child attributes

allowedMethods

array required
A list of payment methods that should be supported for this payment link.
Possible values: push-to-card, rtp-credit, ach-credit-same-day, ach-credit-standard

recipient

object required

Specify the intended recipient of the payout. Either email or phone must be specified, but not both.

This information will be used to authenticate the end user when they follow the payment link.

Show child attributes

email

string<email> <=255 characters

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

metadata

object
Optional free-form metadata for the transfer.

status

string<enum>
Possible values: active, used, disabled, expired

updatedOn

string<date-time>

uses

integer<int64>
The number of times this payment link has been used.