# Developer Quickstart

To begin processing payments with Zūm Rails, you need to follow a few preliminary steps. This guide will walk you through the necessary procedures to ensure a smooth onboarding experience.

## Initial Setup

{% stepper %}
{% step %}

### Create a Sandbox Account

Visit the Zūm Rails website and sign up for a sandbox account. This will be your primary testing environment where you can simulate payment processes without actual transactions.
{% endstep %}

{% step %}

### Access the Zūm Rails Portal

After creating your sandbox account, log into the Zūm Rails Portal. This intuitive interface allows you to manage your users, monitor transactions, and oversee your payment operations.
{% endstep %}

{% step %}

### **Obtain API Username and Password**

Once you have access to the portal, obtain your API username and password. These credentials are vital for accessing Zūm Rails services securely.
{% endstep %}

{% step %}

### **Add a Funding Source**

Within the Portal, set up a funding source. This is necessary to facilitate transactions to and from your wallet, and ensure smooth payment processing.
{% endstep %}
{% endstepper %}

## Ways to Integrate

There are various ways to integrate with Zūm Rails. Check the options below to decide what fits your workflow:

### **API Integration**

Explore our API to efficiently manage transactions, users, invoices, and more. By integrating our API, you gain full control over the user interface, allowing you to tailor it to meet your specific business needs.&#x20;

Integrating APIs using Bearer Token Authorization is one of the most secure methods. Once generated, a Bearer Token is valid for up to an hour, enabling secure, repeated API calls without requiring repeated authorization.

### **Portal**

Utilize the portal to create transactions, add users, and generate invoices. Explore our [FAQ](https://knowledge-base.zumrails.com/faqs) and [Video Tutorials](https://www.youtube.com/@zumrails) to learn more about starting to move money via the portal. By choosing the portal, you can bypass API integration.

### **Hybrid (Recommended)**

The hybrid model provides a robust and secure way to utilize APIs for transaction monitoring, money tracking, report downloading, and more. Through the Zūm portal, you can integrate the API/SDK or embed our URL in your application to manage users, initiate transactions, and send payment links. Moreover, you'll receive real-time updates on user and transaction statuses, allowing you to automate follow-up actions based on payment status.

## Next Steps

### Zum Wallet

* This is a virtual account you can use to manage funds. If you need to move funds directly from a Funding Source to a User, or the opposite, the funds will pass through Zūm Wallet automatically.
* To find the Wallet ID, go to the Wallet page on the Portal or use the [wallet endpoint](https://docs.zumrails.com/api-reference/wallets) below.
* You can also set up auto top-up to maintain a minimum balance in your wallet by configuring settings on the Wallet page on the Portal.&#x20;

```json
{
  "statusCode": 200,
  "message": "GET Request successful.",
  "isError": false,
  "result": [
    {
      "Id": "30126b59-...-008376504210",
      "Type": "Unified",
      "Balance": 1000.5
    }
  ]
}
```

### Create a User&#x20;

* At Zūm, Users represent the payee for accounts payable, or the payer for accounts receivable.&#x20;
* Use the Zūm Rails API to create a user profile. This will allow you to manage user-specific data (such as a bank account or card information) and process transactions.

{% hint style="info" %}
To learn more about creating users, refer to the [users API](https://docs.zumrails.com/api-reference/users).\
\
You may skip user profile creation and create a transaction without creating a user first. See [transactions API](https://docs.zumrails.com/api-reference/transactions) to learn more.
{% endhint %}

### Create a Transaction

* Set up transactions using the API. This will enable you to test payment processes and manage transaction records effectively.

```json
{
  "ZumRailsType": "AccountsReceivable",
  "TransactionMethod": "Eft",
  "Amount": 123.45,
  "Memo": "Invoice 1234",
  "Comment": "Thank you for your business",
  "UserId": "USER_ID",
  "WalletId": "WALLET_ID"
}
```

For details on creating transactions for various use cases, see the [API reference](https://docs.zumrails.com/api-reference/transactions).

### Add a Funding Source

* This is your business bank account, to be able to start moving funds you will need to link your bank account information using Zūm Portal.
* You can add a funding source through the Portal by going to the Funding Sources > Add New Bank Account option.&#x20;


---

# Agent Instructions: 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:

```
GET https://docs.zumrails.com/getting-started/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
