---
title: "Connect to personal merchant account"
url: "https://docs.signnow.com/docs/request-payments/operations/post-v2-merchant-accounts"
type: "endpoint"
section: "request-payments"
slug: "request-payments/operations/post-v2-merchant-accounts"
method: "POST"
path: "/v2/merchant-accounts"
operation_id: "post-v2-merchant-accounts"
authorization: "bearer"
---

# Connect to personal merchant account

`POST /v2/merchant-accounts`

This endpoint allows API users to connect their personal SignNow account to the payment service.

For more information, see the [Request payments guide](/docs/request-payments-guide).

Currently, users can connect to Stripe and Stripe Connect. To receive payments, you'll need a valid payment system account.

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

| Parameter | Description | Example |
| --- | --- | --- |
| `display_credit_card_form` | Boolean indicating whether to display the credit card form by Stripe to the recipient. Must be `true` if `account_type` is `Stripe`. | <img src="/reference-assets/images/Request_payments/payment_form_card.png" alt="Make Payment dialog with the credit card form">  |


</details>

## Authorization

bearer

## 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_yyyyyjcpCb9qbdk8IMXNyyyy",
      "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_xxxxxGDlOVChs1OowXjAiYYY",
      "description": "Publishable API key given by Stripe. Required if `account_type` is `Stripe`."
    },
    "display_ach_form": {
      "type": "boolean",
      "description": "Deprecated. Boolean indicating whether to display the ACH payment form by Stripe. If `account_type` is `Stripe`, the only accepted value is `false`. Omit this parameter."
    },
    "display_credit_card_form": {
      "type": "boolean",
      "description": "Boolean indicating whether to display the credit card form by Stripe. Required if `account_type` is `Stripe`, and the only accepted value is `true`. Other account types ignore this parameter."
    }
  },
  "x-examples": {
    "Example 1": {
      "currency": "USD",
      "secure_key": "sk_yyyy_yyyyyjcpCb9qbdk8IMXNyyyy",
      "account_name": "My Stripe",
      "account_type": "Stripe",
      "publishable_key": "pk_xxxx_xxxxxGDlOVChs1OowXjAiYYY",
      "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_credit_card_form": true
}
```

## Responses

### 201

Successful response.

**Example** (`Successful response`)

```json
{
  "data": {
    "id": "1b0f204a3bc9566a936ea510f2bb70cd7e7cf277"
  }
}
```

### 400

- `account_type` is incorrect or empty.
- `account_name` is empty.
- `publishable_key` is empty.
- `secure_key` is empty.
- `account_type` is `Stripe` and `display_ach_form` is `true`.
- `account_type` is `Stripe` and `display_credit_card_form` is `false`.

**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** (`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."
    }
  ]
}
```

**Example** (`ACH form enabled, card form disabled`)

```json
{
  "errors": [
    {
      "code": 13048046,
      "message": "Parameter `display_ach_form` must be false for `Stripe`"
    },
    {
      "code": 13048047,
      "message": "Parameter `display_credit_card_form` must be true for `Stripe`"
    }
  ]
}
```

### 403

Too many active accounts.

**Example** (`Too many active accounts`)

```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/v2/merchant-accounts" \
  -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_credit_card_form": true}'
```

---
*Full reference: https://docs.signnow.com/docs/request-payments/operations/post-v2-merchant-accounts*
