# Customer Onboarding



Before users can make transactions, they must be registered and verified. You can either direct users to the Paytrie signup page or use the API to register them through your own interface.

## Option 1: Direct signup

The simplest approach is to redirect users to the Paytrie signup page:

```
https://app.paytrie.com/SignupEmail
```

Users will complete registration and KYC verification through the Paytrie interface, then return to your application.

## Option 2: API integration

For a seamless user experience, use the API to register users through your own interface.

### Quick start

```bash
curl -X POST "https://api.paytrie.com/generateApiLink" \
  -H "x-api-key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "phone": "4165551234",
    "dob": "1990-01-15",
    "address1": "123 Main Street",
    "address2": "Suite 100",
    "city": "Toronto",
    "province": "on",
    "postal": "M5V1A1",
    "occupation": "Software Engineer",
    "pep": false,
    "tpd": false
  }'
```

The response includes a verification link for KYC:

```json
{
  "message": "API user created",
  "status": "success",
  "verificationLink": "https://sumsub.com/verify/..."
}
```

<Card title="API Reference: Generate API Link" href="/docs/api-reference/registration/postGenerateApiLink" icon="arrow-right-left">
  View complete request parameters and response schema
</Card>

### Province codes

The `province` field accepts the following codes:

| Code | Province                  | Code | Province              |
| ---- | ------------------------- | ---- | --------------------- |
| `ab` | Alberta                   | `on` | Ontario               |
| `bc` | British Columbia          | `pe` | Prince Edward Island  |
| `mb` | Manitoba                  | `qc` | Quebec                |
| `nb` | New Brunswick             | `sk` | Saskatchewan          |
| `nl` | Newfoundland and Labrador | `nt` | Northwest Territories |
| `ns` | Nova Scotia               | `nu` | Nunavut               |
| `yt` | Yukon                     |      |                       |

### Key fields explained

| Field | Description                                                                              |
| ----- | ---------------------------------------------------------------------------------------- |
| `pep` | Politically Exposed Person - Set to `true` if the user holds a prominent public position |
| `tpd` | Third Party Determination - Set to `true` if registering on behalf of a third party      |

## KYC verification flow

After registration, users must complete identity verification:

<Steps>
  <Step>
    ### Redirect to verification Use the `verificationLink` from the

    registration response to redirect the user to our KYC partner.
  </Step>

  <Step>
    ### User completes verification The user submits identity documents and

    completes the verification process.
  </Step>

  <Step>
    ### Verification complete Once verified, the user's status changes and you

    receive a webhook notification (if configured).
  </Step>

  <Step>
    ### Ready to transact The user can now authenticate and make transactions.
  </Step>
</Steps>

<Callout type="info">
  Set up [Webhooks](/docs/webhooks) to receive notifications when users complete
  verification.
</Callout>

## Alternative: Sumsub reusable KYC

If your users have already completed KYC through Sumsub on your platform, you can import their verification data to skip the KYC step. See [Sumsub Reusable KYC](/docs/integrations/sumsub-kyc) for details.
