White-label
Guidance for embedding Cobru in your own product experience with minimal end-user confusion.
Cobru's hosted payment flows can still feel integrated into your own product if you design the handoff carefully. The original Spotlight material also documents a white-label user registration surface that is important for embedded financial products.
White-label onboarding and brand-prefixed usernames come from legacy Cobru documentation. Publish or ship only after confirming the current contract with your Cobru team.
What this capability covers
- registering users under a partner or brand namespace
- collecting categories and subcategories before registration
- confirming email and phone
- embedding Cobru-owned flows inside your product experience
Registration workflow
Fetch categories from GET /category/ and the matching subcategories from GET /subcategory?category_id=....
Collect the registration payload, including brand, username, documents, and legal identity fields.
Create the user with POST /user/.
Complete post-registration verification flows such as email and phone confirmation.
Example registration payload
{
"username": "09906786442",
"first_name": "Test",
"last_name": "User",
"email": "test@example.com",
"password": "12345678",
"phone": "09906786442",
"document_type": "0",
"document_number": "11111122223",
"country_code": "+57",
"gender": 2,
"date_birth": "2001-08-08",
"type_person": 1,
"date_expiration": "2019-08-08",
"subcategory": 745,
"category": 99,
"platform": "ios",
"brand": "MY_BRAND"
}const response = await fetch('https://dev.cobru.co/user/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.COBRU_API_KEY!,
},
body: JSON.stringify(userPayload),
});
const createdUser = await response.json();
console.log(createdUser.username);import requests
response = requests.post(
"https://dev.cobru.co/user/",
headers={
"x-api-key": COBRU_API_KEY,
"Content-Type": "application/json",
},
json=user_payload,
)
print(response.json())<?php
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('POST', 'https://dev.cobru.co/user/', [
'headers' => [
'x-api-key' => getenv('COBRU_API_KEY'),
'Content-Type' => 'application/json',
],
'json' => $userPayload,
]);
$createdUser = json_decode((string) $response->getBody(), true, 512, JSON_THROW_ON_ERROR);
var_dump($createdUser);Integration rules
UX recommendations
- always describe the next step before redirecting the user
- use your own reference ID in the
callbackURL - store Cobru's
pk,url, andidempotency_key - design a return URL that confirms status and next actions
- document payment-method-specific UX, especially for BRE-B and QR