Get payment link | Moov Documentation

Get payment link

Retrieve a payment link by code.

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

GET

/accounts/{accountID}/payment-links/{paymentLinkCode}

Ask

curl -X GET "https://api.moov.io/accounts/{accountID}/payment-links/{paymentLinkCode}" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"

Ask

import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.paymentLinks.get({
    accountID: "323f95b1-3798-4203-8a73-5c8668a9226e",
    paymentLinkCode: "uc7ZYKrMhi",
  });

console.log(result);
}

run();

Ask

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$response = $sdk->paymentLinks->get(
    accountID: '323f95b1-3798-4203-8a73-5c8668a9226e',
    paymentLinkCode: 'uc7ZYKrMhi'
);

if ($response->paymentLink !== null) {
    // handle response
}

Ask

package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetPaymentLinkResponse;
import java.lang.Exception;

public class Application {

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

Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

GetPaymentLinkResponse res = sdk.paymentLinks().get()
                .accountID("323f95b1-3798-4203-8a73-5c8668a9226e")
                .paymentLinkCode("uc7ZYKrMhi")
                .call();

if (res.paymentLink().isPresent()) {
            System.out.println(res.paymentLink().get());
        }
    }
}

Ask

from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

res = moov.payment_links.get(account_id="323f95b1-3798-4203-8a73-5c8668a9226e", payment_link_code="uc7ZYKrMhi")

# Handle response
    print(res)

Ask

require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)
res = s.payment_links.get(account_id: '323f95b1-3798-4203-8a73-5c8668a9226e', payment_link_code: 'uc7ZYKrMhi')

unless res.payment_link.nil?
  # handle response
end

Ask

using Moov.Sdk;
using Moov.Sdk.Models.Components;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

var res = await sdk.PaymentLinks.GetAsync(
    accountID: "323f95b1-3798-4203-8a73-5c8668a9226e",
    paymentLinkCode: "uc7ZYKrMhi"
);

// handle response

The request completed successfully.

Ask

Example

{
  "amount": {
    "currency": "USD",
    "value": 10000
  },
  "amountDetails": {
    "tax": {
      "currency": "USD",
      "valueDecimal": "8.25"
    }
  },
  "code": "3QLHtONjd5",
  "createdOn": "2025-01-09T17:09:13.33Z",
  "customer": {
    "requirePhone": true,
    "tippingEnabled": true
  },
  "display": {
    "callToAction": "pay",
    "description": "This is an example payment link.",
    "title": "Example Payment Link"
  },
  "link": "https://moov.link/p/3QLHtONjd5",
  "merchantAccountID": "34233b72-780c-4e0e-8b08-cbbe1bc878f8",
  "merchantPaymentMethodID": "4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e",
  "mode": "sandbox",
  "ownerAccountID": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "partnerAccountID": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "payment": {
    "allowedMethods": [
      "card-payment",
      "ach-debit-collect"
    ]
  },
  "paymentLinkType": "payment",
  "status": "active",
  "updatedOn": "2025-01-09T17:09:13.33Z",
  "uses": 0
}

Response headers

A unique identifier used to trace requests.

The request contained missing or expired authentication.

Response headers

A unique identifier used to trace requests.

The user is not authorized to make the request.

Response headers

A unique identifier used to trace requests.

The requested resource was not found.

Response headers

A unique identifier used to trace requests.

Request was refused due to rate limiting.

Response headers

A unique identifier used to trace requests.

The request failed due to an unexpected error.

Response headers

A unique identifier used to trace requests.

The request failed because a downstream service failed to respond.

Response headers

A unique identifier used to trace requests.

Set this header to v2026.07.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00, which may not match the behavior documented here.

Possible values:

v2026.07.00

The merchant account ID.

Unique code identifying this payment link.

Show child attributes

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

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

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

If true, tipping is enabled on the payment form. Defaults to false.

Customizable display options for a payment link.

Show child attributes

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

A payment description displayed to the user.

The payment page title displayed to the user.

Link to the payment landing page for this payment link.

The merchant's Moov account ID.

The merchant's preferred payment method ID. Must be a wallet payment method.

The operating mode for an account.

Possible values:

sandbox,

production

The payment link's owner's Moov account ID.

The partner's Moov account ID.

Possible values:

payment,

payout,

invoice-payment,

custom-amount-payment

Possible values:

active,

used,

disabled,

expired

The number of times this payment link has been used.

The fixed amount of the payment link.

In API versions before 2026.07.00, this was a required field.

In API version 2026.07.00 and beyond, this field is present for payment and payout links and omitted for customAmountPayment links, where the payor chooses the amount.

Show child attributes

A 3-letter ISO 4217 currency code.

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.

Show child attributes

The amount of surcharge applied to the payment link.

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

The amount of tax applied to the payment link.

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

Options for custom amount payment links.

A custom amount payment link shares all the options of a payment link, but the payor chooses how much to pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.

Show child attributes

A list of payment methods that should be supported for this payment link.

Possible values:

apple-pay,

card-payment,

ach-debit-collect,

google-pay

Options for payment links used to collect an ACH payment.

Show child attributes

An optional override of the default NACHA company entry description for a transfer.

An optional override of the default NACHA company name for a transfer.

The minimum and maximum amounts the payor can specify.

When omitted, the payor may enter any amount. Both bounds must use USD.

A range of values that an AmountDecimal can take.

If either minimum or maximum is omitted, the range is "open" on that end:

minimum specified: amt >= minimum``maximum specified: amt <= maximum both specified: minimum <= amt <= maximum

Show child attributes

Maximum amount allowed in the range

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

Minimum amount allowed in the range

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

Options for payment links used to collect a card payment.

Show child attributes

An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.

Optional free-form metadata for the transfer.

Optional preset amounts displayed to the payor.

Each suggested amount must use USD and, when an amountRange is set, fall within it.

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

An optional expiration date for this payment link.

The timestamp when this payment link was last used.

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

Show child attributes

The list of line items.

Show child attributes

The base price of the item before applying option modifiers.

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

Optional list of images associated with this line item.

Show child attributes

Alternative text for the image.

Unique identifier for a image resource.

The image's public URL.

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

The name of the item.

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

Show child attributes

Optional group identifier to categorize related options (e.g., 'toppings').

Optional list of images associated with this line item option.

Show child attributes

Alternative text for the image.

Unique identifier for a image resource.

The image's public URL.

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

The name of the option or modifier.

Optional price modification applied by this option. Can be positive, negative, or zero.

Show child attributes

A 3-letter ISO 4217 currency code.

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

For example, $12.987654321 is '12.987654321'.

The quantity of this option.

Optional unique identifier associating the line item with a product.

The quantity of this item.

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

For payouts, maxUses is always 1.

Options for payment links used to collect payment.

Show child attributes

A list of payment methods that should be supported for this payment link.

Possible values:

apple-pay,

card-payment,

ach-debit-collect,

google-pay

Options for payment links used to collect an ACH payment.

Show child attributes

An optional override of the default NACHA company entry description for a transfer.

An optional override of the default NACHA company name for a transfer.

Options for payment links used to collect a card payment.

Show child attributes

An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.

Optional free-form metadata for the transfer.

Show child attributes

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,

push-to-apple-pay,

push-to-google-pay

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

Show child attributes

Optional free-form metadata for the transfer.

Delivery options for push-to-card payouts. Only applies when allowedMethods includes push-to-card.

The deferred speed and deferredBy apply to push-to-card only. Other push methods (push-to-apple-pay, push-to-google-pay) are always delivered instantly regardless of these options.

Delivery options for push-to-card payouts.

Show child attributes

Delivery speeds the recipient may choose from for push-to-card. Include instant to allow immediate delivery, deferred to allow delayed delivery, or both to let the recipient choose at checkout.

Possible values:

instant,

deferred

Delay before delivering a deferred push-to-card payout. Required when allowedSpeeds includes deferred. Accepted values are 24h or 48h.