# Set up a payment profile (https://developer.godaddy.com/en/docs/api-users/payment-profile)

***

title: Set up a payment profile
description: Add a billing method to your GoDaddy account before registering or renewing domains. Required for any operation that charges money.
agentNotes:
permissions: \["Billing"]
scopes: \["Not applicable — configured via UI"]
rateLimit: "Not applicable — one-time setup"
idempotent: true
destructive: false
failureRecovery: "Payment profile is configured through the account UI, not the API. If registration/renewal returns NO\_PAYMENT\_PROFILE (HTTP 422), the account has no billing method — direct the user to add one at godaddy.com."
related:
guides:

* title: "Register a domain"
  href: "/docs/api-users/purchase-domains/register"
* title: "Manage renewals"
  href: "/docs/api-users/manage-domains/renewals"
  concepts:
* title: "Handle errors"
  href: "/docs/api-users/errors"

***

Domain registration, renewal, and transfer charge the billing method saved on your GoDaddy account. The Domains API does not accept card numbers or payment objects in the request body — v3 registration quotes and purchases draw from the account's **payment profile**.

If no billing method is on file, quote and purchase calls fail before registration logic runs. The API returns `NO_PAYMENT_PROFILE` (HTTP `422`) until billing is configured. Go to [Handle errors](https://developer.godaddy.com/docs/api-users/errors) for the full error envelope and other billing-related error codes.

## Add a payment method

You can add a payment method in the account UI or open the same page from the CLI.

### Using the CLI

The beta `gddy` CLI opens your browser to the payment-methods page for the active environment:

```bash
gddy payment-methods add
```

Only a **credit card** or **Good as Gold** balance can be used for domain purchases. For built-in CLI environments, the command opens:

| CLI environment                  | Account payment URL                                                                                        |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Production (`gddy env set prod`) | [account.godaddy.com/payment-methods/add-payment](https://account.godaddy.com/payment-methods/add-payment) |

### Using the account UI

1. Sign in at [account.godaddy.com/payment-methods/add-payment](https://account.godaddy.com/payment-methods/add-payment).
2. Click **Add Payment Method**.
3. Complete the **Billing Information** and **Payment Method** sections.
4. Click **Save**.

Domain purchase also requires a complete registrant contact (phone and mailing address) on the account. If billing is set up but contact fields are missing, the API returns `MISSING_CONTACT` or validation errors on individual address fields. Update contacts at [account.godaddy.com/profile/contacts](https://account.godaddy.com/profile/contacts).

## Verify billing is ready

After adding a payment method, confirm the account can receive a registration quote. A successful quote returns a `quoteToken`; `NO_PAYMENT_PROFILE` means billing is still missing.

```bash
curl -s -X POST "https://api.godaddy.com/v3/domains/registration-quotes" \
  -H "Authorization: Bearer $GODADDY_PAT" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "period": 1}'
```

A `quoteToken` in the response confirms billing is configured. `NO_PAYMENT_PROFILE` means add a payment method first. `MISSING_CONTACT` means complete the registrant contact on the account before quoting or purchasing.

## Common errors

| Code                   | HTTP  | Likely cause                                                                       | What to do                                               |
| ---------------------- | ----- | ---------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `NO_PAYMENT_PROFILE`   | `422` | No payment method on the account.                                                  | Add a payment method (UI or `gddy payment-methods add`). |
| `INVALID_PAYMENT_INFO` | `402` | Payment authorization failed at purchase time — no usable method or card declined. | Verify the card on file or add a new method.             |
| `ACCOUNT_NOT_FUNDED`   | `403` | Good as Gold balance is $0.00 with no fallback card.                               | Add funds or add a credit card.                          |
| `MISSING_CONTACT`      | `422` | Registrant phone or address missing from the account profile.                      | Complete contact info in the account UI.                 |

Some accounts use a prepaid Good as Gold balance instead of a card. Registrations draw from the balance first. If the balance is $0 and no fallback card is on file, registration fails with a billing-related error. See [What is Good as Gold?](https://www.godaddy.com/help/what-is-good-as-gold-3359).
