Cardholder
All the APIs to manage cardholder
Register a cardholder synchronously
Use this endpoint to register your user as a cardholder on our platform. The cardholder's Identity verification is done on the fly, so the response might take about 45 seconds and you might want to increase the seconds it takes for your requests to timeout.
This endpoint is rate limited per minute which means a cardholder can only retry his KYC once every minute(register_cardholder)
curl --location --request POST 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder_synchronously' \
--header 'token: Bearer xxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address": "[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
}'import requests
import json
url = "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder_synchronously"
payload = json.dumps({
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address": "[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
)
headers = {
'token': 'Bearer xxxxx',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder_synchronously',
'headers': {
'token': 'Bearer xxxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address": "[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
)
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder_synchronously');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'token' => 'Bearer xxxxx',
'Content-Type' => 'application/json'
));
$request->setBody('{\n "first_name": "John",\n "last_name": "Doe",\n \n "address": {\n "address": "9 Jibowu Street",\n "city": "Aba North",\n "state": "Abia",\n "country": "Nigeria",\n "postal_code": "1000242",\n "house_no": "13"\n },\n "phone": "08122277789",\n "email_address": "[email protected]",\n "meta_data":{ \n "any_key": "any_value"}, \n "identity": {\n "id_type": "NIGERIAN_BVN",\n "bvn": "32747711121",\n "selfie_image": "https://id_image"\n},\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder_synchronously"
method := "POST"
payload := strings.NewReader(`{
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address":"[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("token", "Bearer xxxxx")
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}Register a cardholder asynchronously (Recommended)
Use this endpoint to register your user as a cardholder on our platform. If the user passes the KYC verification we will send you a success webhook. However, we have a human-in-the-loop process where if a user fails a KYC verification we might pass it to a human being to do a manual verification just to double check that the automated KYC verification system didn't flag the user's KYC unnecessarily. In the case that a users KYC is being sent for manual review you will be sent a manual review webhook. The manual review process by our compliance team usually takes between 1 - 24hrs and after this, we will send you either the cardholder success or failure webhook verification response depending on the final decision.
curl --location --request POST 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder' \
--header 'token: Bearer xxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address": "[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
}'import requests
import json
url = "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder"
payload = json.dumps({
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address": "[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
)
headers = {
'token': 'Bearer xxxxx',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder',
'headers': {
'token': 'Bearer xxxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address": "[email protected]",
"identity": {
"id_type": "NIGERIAN_BVN_VERIFICATION",
"bvn": "22222222222222",
"selfie_image": "https://image.com"
},
"meta_data":{"any_key": "any_value"}
)
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'token' => 'Bearer xxxxx',
'Content-Type' => 'application/json'
));
$request->setBody('{\n "first_name": "John",\n "last_name": "Doe",\n \n "address": {\n "address": "9 Jibowu Street",\n "city": "Aba North",\n "state": "Abia",\n "country": "Nigeria",\n "postal_code": "1000242",\n "house_no": "13"\n },\n "phone": "08122277789",\n "email_address": "[email protected]",\n "meta_data":{ \n "any_key": "any_value"}, \n "identity": {\n "id_type": "NIGERIAN_BVN",\n "bvn": "32747711121",\n "selfie_image": "https://id_image",\n},\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/register_cardholder"
method := "POST"
payload := strings.NewReader(`{
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "9 Jibowu Street",
"city": "Aba North",
"state": "Abia",
"country": "Nigeria",
"postal_code": "1000242",
"house_no": "13"
},
"phone": "08122277789",
"email_address":"[email protected]",
"identity": {
"id_type: "NIGERIAN_NIN" or "NIGERIAN_INTERNATIONAL_PASSPORT" or "NIGERIAN_PVC" or "NIGERIAN_DRIVERS_LICENSE"
"id_no": "11111111111",
"id_image": "",
"bvn": "2222222222"
},
"meta_data":{"any_key": "any_value"}
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("token", "Bearer xxxxx")
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}Get cardholder details.
Use this API to view a cardholder's profile.
curl --location --request GET 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/get_cardholder?cardholder_id=e416a9a188af40b78b8afd740e835d68' \
--header 'token: Bearer xxxxx'import requests
url = "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/get_cardholder?cardholder_id=e416a9a188af40b78b8afd740e835d68"
payload={}
headers = {
'token': 'Bearer xxxxx'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/get_cardholder?cardholder_id=e416a9a188af40b78b8afd740e835d68',
'headers': {
'token': 'Bearer xxxxx'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/get_cardholder?cardholder_id=e416a9a188af40b78b8afd740e835d68');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'token' => 'Bearer xxxxx'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/get_cardholder?cardholder_id=e416a9a188af40b78b8afd740e835d68"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("token", "Bearer xxxxx")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}Delete cardholder
Use this API to delete a cardholder
curl --location --request DELETE 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/delete_cardholder/e416a9a188af40b78b8afd740e835d68' \
--header 'token: Bearer xxxxx'import requests
url = "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/delete_cardholder/e416a9a188af40b78b8afd740e835d68"
payload={}
headers = {
'token': 'Bearer xxxxx'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
'method': 'DELETE',
'url': 'https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/delete_cardholder/e416a9a188af40b78b8afd740e835d68',
'headers': {
'token': 'Bearer xxxxx'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/delete_cardholder/e416a9a188af40b78b8afd740e835d68');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'token' => 'Bearer xxxxx'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://issuecards.api.bridgecard.co/v1/issuing/sandbox/cardholder/delete_cardholder/e416a9a188af40b78b8afd740e838"
method := "DELETE"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("token", "Bearer xxxxx")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}Last updated