> For the complete documentation index, see [llms.txt](https://docs.coda.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coda.co/codapay/getting-started/set-up-payments.md).

# Set up payments

{% hint style="info" %}
This quickstart assumes that a Publisher Portal account was created and set up with business details, e-agreement signing, and KYC verification completed. If you need assistance completing these steps, please contact your account manager or email <publisher_team@coda.co>
{% endhint %}

## What you'll learn

* How to activate title, countries, and payment methods
* Start accepting payments for a specific title, in specific countries, using specific payment methods

## Step 1: Create Title

1. Log in to your Publisher Portal account and navigate to “Titles”&#x20;

<figure><img src="/files/f7D3NPdhGmwwZQngOqN3" alt=""><figcaption></figcaption></figure>

2. Click on “Create Title”
3. Enter the title information or import them from the Google Play/App Store, select the content type.&#x20;

<figure><img src="/files/WUcP3sOzxx6XwmA6gPpA" alt=""><figcaption></figcaption></figure>

4. The title will be auto-created with Codapay enabled. If not, select Service Type as Codapay

***

## Step 2: Set up your landing URL and the default callback URL

1. On your publisher portal account, navigate to **Products** -> **Codapay** -> **Select the Title -> Sandbox Configuration**&#x20;

<figure><img src="/files/ao8FJwDIP8zH0WbiOiLO" alt=""><figcaption></figcaption></figure>

2. Select the country you want to set up, or use Bulk Edit configuration to edit multiple countries.&#x20;

<figure><img src="/files/Ksy5PpBxvZNqYGqiqpbb" alt=""><figcaption></figcaption></figure>

3. Click “Edit” -> Merchant & URLs configuration:

* **Complete Notification URL:** This is where Codapay will notify you of a successful payment.
* **Complete Landing Page URL:** This is the default URL to which your user will be redirected after the completion of the transaction. If you pass the `returnURL` as part of your initial API call, it will override this value.

<figure><img src="/files/0CJ2VbA1Rk5bmm2ix4xu" alt=""><figcaption></figcaption></figure>

4. After inputting the URLs, click "Save"&#x20;

***

## Step 3: Retrieve your API Key from the Publisher Portal

1. On your Publisher Portal account, navigate to **Products -> Codapay -> API Keys**

New merchants: You will see your Global API key (v2 API), as well as 1 Project ID for each title.&#x20;

Existing merchants: You will see multiple API keys that are unique for each title and country (v1 API)

For more details, please see [API versions](https://coda-payments.gitbook.io/coda-public-technical-documentation/codapay/integration-guides/codapay-api-versions)&#x20;

2. Optional: You can set up IP Address whitelisting for each title and country.

<figure><img src="/files/7sYJKGcOe2AIxF44fUTz" alt=""><figcaption></figcaption></figure>

***

## Next steps:

* [Test Hosted Payment Page API](https://coda-payments.gitbook.io/coda-public-technical-documentation/codapay/getting-started/test-hosted-payment-page-api)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coda.co/codapay/getting-started/set-up-payments.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
