Skip to content

Quickstart Guide

Get started with Rach Payments in minutes. This guide will walk you through account creation, KYC verification, and your first API call.

Prerequisites

  • A valid business email address
  • Business registration documents for KYC
  • Basic knowledge of REST APIs

Step 1: Create Your Account

Create a Rach Payments account using our registration API:

bash
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "your@business.com",
    "password": "SecurePassword123!",
    "business_name": "Your Business Ltd",
    "business_type": "company"
  }'
javascript
// JavaScript / Node.js
const response = await fetch('https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/register', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    email: 'your@business.com',
    password: 'SecurePassword123!',
    business_name: 'Your Business Ltd',
    business_type: 'company'
  })
});

const result = await response.json();
console.log('Account created:', result);
python
# Python
import requests

response = requests.post(
    'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/register',
    json={
        'email': 'your@business.com',
        'password': 'SecurePassword123!',
        'business_name': 'Your Business Ltd',
        'business_type': 'company'
    }
)

result = response.json()
print('Account created:', result)
go
// Go
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    payload := map[string]string{
        "email": "your@business.com",
        "password": "SecurePassword123!",
        "business_name": "Your Business Ltd",
        "business_type": "company",
    }
    
    body, _ := json.Marshal(payload)
    resp, _ := http.Post(
        "https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/register",
        "application/json",
        bytes.NewBuffer(body),
    )
    defer resp.Body.Close()
}
php
// PHP
<?php
$ch = curl_init('https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/register');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'email' => 'your@business.com',
    'password' => 'SecurePassword123!',
    'business_name' => 'Your Business Ltd',
    'business_type' => 'company'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$result = json_decode($response, true);
curl_close($ch);

print_r($result);
?>

Response:

json
{
  "message": "Registration successful. Please check your email to verify your account.",
  "business_id": "biz_abc123xyz"
}

Step 2: Verify Your Email

  1. Check your email inbox for a verification email from Rach Payments
  2. Click the verification link or use the verification code
  3. Alternatively, verify programmatically:
bash
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/verify-email \
  -H "Content-Type: application/json" \
  -d '{
    "email": "your@business.com",
    "verification_code": "123456"
  }'

Step 3: Submit KYC Documents

Complete KYC verification to receive your API keys. You'll need to provide:

For Companies:

  • Business registration document
  • Director ID/Passport
  • Proof of address (utility bill, bank statement)
  • Business bank statement

For Individuals:

  • Government-issued ID
  • Proof of address
  • Selfie with ID

First, login to get your JWT token:

bash
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "your@business.com",
    "password": "SecurePassword123!"
  }'

Response:

json
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "business": {
    "id": "biz_abc123xyz",
    "name": "Your Business Ltd",
    "email": "your@business.com"
  }
}

Then submit your KYC information:

bash
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/kyc/submit \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "account_type": "business",
    "business_type": "company",
    "registration_number": "12345678",
    "registration_country": "GB",
    "director_name": "John Doe",
    "director_id_number": "AB123456C",
    "director_dob": "1990-01-01",
    "business_address": "123 Business St, London, UK",
    "documents": {
      "business_registration": "base64_encoded_document",
      "director_id": "base64_encoded_document",
      "proof_of_address": "base64_encoded_document"
    }
  }'
javascript
// JavaScript / Node.js
const response = await fetch('https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/kyc/submit', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${jwtToken}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_type: 'business',
    business_type: 'company',
    registration_number: '12345678',
    registration_country: 'GB',
    director_name: 'John Doe',
    director_id_number: 'AB123456C',
    director_dob: '1990-01-01',
    business_address: '123 Business St, London, UK',
    documents: {
      business_registration: 'base64_encoded_document',
      director_id: 'base64_encoded_document',
      proof_of_address: 'base64_encoded_document'
    }
  })
});

const result = await response.json();
python
# Python
import requests

response = requests.post(
    'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/kyc/submit',
    headers={'Authorization': f'Bearer {jwt_token}'},
    json={
        'account_type': 'business',
        'business_type': 'company',
        'registration_number': '12345678',
        'registration_country': 'GB',
        'director_name': 'John Doe',
        'director_id_number': 'AB123456C',
        'director_dob': '1990-01-01',
        'business_address': '123 Business St, London, UK',
        'documents': {
            'business_registration': 'base64_encoded_document',
            'director_id': 'base64_encoded_document',
            'proof_of_address': 'base64_encoded_document'
        }
    }
)

KYC Review Time

KYC submissions are typically reviewed within 24-48 hours. You'll receive an email notification once approved.


Step 4: Get Your API Keys

Once your KYC is approved, retrieve your API keys:

bash
curl -X GET https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/api-key \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response:

json
{
  "test_key": "test_sk_1234567890abcdef",
  "production_key": "live_sk_abcdef1234567890",
  "created_at": "2025-12-22T00:00:00Z"
}

Keep Your Keys Secure

Never expose your API keys in client-side code or public repositories. Store them securely as environment variables.


Step 5: Make Your First API Call

Option A: Create a Crypto Payment Checkout

bash
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/checkout/create \
  -H "X-API-Key: test_sk_1234567890abcdef" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 100.00,
    "currency": "USDT",
    "network": "BSC",
    "customer_email": "customer@example.com",
    "reference": "ORDER-001",
    "payment_method": "crypto"
  }'

Response:

json
{
  "session_id": "6617af1e-c4a9-48cc-9346-4a8af041ac8d",
  "deposit_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  "amount": 100.00,
  "currency": "USDT",
  "network": "BSC",
  "qr_code": "data:image/png;base64,iVBORw0KGgo...",
  "status": "pending",
  "expires_at": "2025-12-22T01:00:00Z"
}

Option B: Create a Wallet for a Customer

bash
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/customer/create \
  -H "X-API-Key: test_sk_1234567890abcdef" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "user_12345",
    "testnet": false
  }'

Response:

json
{
  "customer_wallet_id": 1,
  "customer_id": "user_12345",
  "testnet": false,
  "created_at": "2025-12-22T00:00:00Z",
  "message": "Customer wallet created successfully"
}

Next Steps

Congratulations! You've successfully:

  • ✅ Created your Rach Payments account
  • ✅ Verified your email
  • ✅ Submitted KYC documents
  • ✅ Retrieved your API keys
  • ✅ Made your first API call

Where to go from here:

For Crypto Payment Gateway:

For Wallet-as-a-Service:

API Reference:


Need Help?

If you encounter any issues during the quickstart process:

Built with ❤️ by Rach Finance