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:
code-groupbash
cURL
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] // 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]
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] // 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 <?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
- Check your email inbox for a verification email from Rach Payments
- Click the verification link or use the verification code
- 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:
code-groupbash
cURL
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] // 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]
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' } } )
tip 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" }
warning 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/crypto \ -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" }'
Response:json { "checkout_id": "checkout_xyz789", "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", "networks": ["BSC", "ETH", "POL"] }'
Response:json { "wallet_id": "wallet_abc123", "customer_id": "user_12345", "networks": ["BSC", "ETH", "POL"], "addresses": [ { "network": "BSC", "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "index": 0 }, { "network": "ETH", "address": "0x8B3192f2f0f0D7E4F5C3A1B9E2D7A6C5B4D3E2F1", "index": 0 }, { "network": "POL", "address": "0x1A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P7Q8R9S0T", "index": 0 } ], "created_at": "2025-12-22T00:00:00Z" }
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
