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:
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 / 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
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
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
$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:
{
"message": "Registration successful. Please check your email to verify your account.",
"business_id": "biz_abc123xyz"
}Step 2: Verify Your Email
- Check your email inbox for a verification email from Rach Payments
- Click the verification link or use the verification code
- Alternatively, verify programmatically:
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:
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:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"business": {
"id": "biz_abc123xyz",
"name": "Your Business Ltd",
"email": "your@business.com"
}
}Then submit your KYC information:
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 / 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
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:
curl -X GET https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/auth/api-key \
-H "Authorization: Bearer YOUR_JWT_TOKEN"Response:
{
"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
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:
{
"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
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:
{
"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:
- Check our Sandbox & Testing Guide
- Review the Authentication Documentation
- Contact support at support@rach.finance
