---
title: "Connect to merchant account"
url: "https://docs.signnow.com/docs/request-payments/operations/post-organizations-org_id-merchantaccount"
type: "endpoint"
section: "request-payments"
slug: "request-payments/operations/post-organizations-org_id-merchantaccount"
method: "POST"
path: "/organizations/{org_id}/merchantaccount"
operation_id: "post-organizations-org_id-merchantaccount"
authorization: "bearer"
---

# Connect to merchant account

`POST /organizations/{org_id}/merchantaccount`

This endpoint allows an organization admin to connect a SignNow organization to the payment service. 

Currently, the organization can be connected to Stripe and Stripe Connect. To receive payments, you'll need a valid payment system account.

> An organization is limited to one active account per payment service. The connected payment service will apply to all organization members by default.

<details>

**<summary>Use additional attributes to customize the request</summary>**

| Parameter | Description | Example |
| --- | --- | --- |
| `display_ach_form` | Boolean indicating whether to display the ACH payment form by Stripe to the recipient. | <img src="/reference-assets/images/Request_payments/stripe_ach.png" alt="ACH form"> |
| `display_credit_card_form` | Boolean indicating whether to display the credit card form by Stripe to the recipient. Note that either `display_ach_form` or `display_credit_card_form` should be set to `true`. | <img src="/reference-assets/images/Request_payments/stripe_card.png" alt="Card form">  |


</details>

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `org_id` | string | Yes | ID of the requested organization. |

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "account_name",
    "account_type"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "USD",
      "example": "USD",
      "description": "The currency used for recipient transactions."
    },
    "secure_key": {
      "type": "string",
      "example": "sk_yyyy_0vkrljcpCb9qbdk8IMXNyyyy",
      "description": "Secure API key (secret) given by Stripe. Required if `account_type` is `Stripe`."
    },
    "account_name": {
      "type": "string",
      "example": "My Stripe",
      "description": "Name of the new merchant account."
    },
    "account_type": {
      "type": "string",
      "example": "Stripe",
      "description": "The type of payment service. Allowed values: `Stripe`, `StripeConnect`."
    },
    "publishable_key": {
      "type": "string",
      "example": "pk_xxxx_y16i7GDlOVChs1OowXjAiYYY",
      "description": "Publishable API key given by Stripe. Required if `account_type` is `Stripe`."
    },
    "display_ach_form": {
      "type": "boolean",
      "description": "Boolean indicating whether to display the ACH payment form by Stripe. Required if `account_type` is `Stripe`."
    },
    "display_credit_card_form": {
      "type": "boolean",
      "description": "Boolean indicating whether to display the credit card form by Stripe. Required if `account_type` is `Stripe`.\n"
    }
  },
  "x-examples": {
    "Example 1": {
      "currency": "USD",
      "secure_key": "sk_yyyy_0vkrljcpCb9qbdk8IMXNyyyy",
      "account_name": "My Stripe",
      "account_type": "Stripe",
      "publishable_key": "pk_xxxx_y16i7GDlOVChs1OowXjAiYYY",
      "display_ach_form": true,
      "display_credit_card_form": true
    }
  }
}
```

**Example** (`example-1`)

```json
{
  "currency": "USD",
  "secure_key": "sk_yyyy_0vkrljcpCb9qbdk8IMXNyyyy",
  "account_name": "My Stripe",
  "account_type": "Stripe",
  "publishable_key": "pk_xxxx_y16i7GDlOVChs1OowXjAiYYY",
  "display_ach_form": true,
  "display_credit_card_form": true
}
```

## Responses

### 200

Success.

**Example** (`Example 1`)

```json
{
  "id": "5f793dfe081e4bf7a3dd25d245cdff1bebe3a188"
}
```

**Example** (`example-1`)

```json
{
  "status": "success"
}
```

### 400

- `account_type` is incorrect or empty.
- `account_name` is empty.
- `publishable_key` is empty.
- `secure_key` is empty.
- Either `display_ach_form`or `display_credit_card_form` must be set to `true`.

**Example** (`secure_key empty`)

```json
{
  "errors": [
    {
      "code": 29004007,
      "message": "Secure key is empty."
    }
  ]
}
```

**Example** (`account_name empty`)

```json
{
  "errors": [
    {
      "code": 29004001,
      "message": "Account name is required."
    }
  ]
}
```

**Example** (`Display form required`)

```json
{
  "errors": [
    {
      "code": 29004014,
      "message": "At least one display form is required"
    }
  ]
}
```

**Example** (`publishable_key empty`)

```json
{
  "errors": [
    {
      "code": 29004004,
      "message": "Publishable key is empty."
    }
  ]
}
```

**Example** (`account_type incorrect or empty`)

```json
{
  "errors": [
    {
      "code": 29004017,
      "message": "Parameter `account_type` is required and must be one of: Stripe, StripeConnect, PayPal."
    }
  ]
}
```

### 403

The organization has too many active accounts.

**Example** (`Active accounts limit`)

```json
{
  "errors": [
    {
      "code": 132,
      "message": "Forbidden to create multiple active accounts of the same type."
    }
  ]
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/organizations/{org_id}/merchantaccount" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"currency": "USD", "secure_key": "sk_yyyy_0vkrljcpCb9qbdk8IMXNyyyy", "account_name": "My Stripe", "account_type": "Stripe", "publishable_key": "pk_xxxx_y16i7GDlOVChs1OowXjAiYYY", "display_ach_form": true, "display_credit_card_form": true}'
```

---
*Full reference: https://docs.signnow.com/docs/request-payments/operations/post-organizations-org_id-merchantaccount*
