Skip to content

Card Registration

An endpoint to tokenize credit/debit cards and register them for succeeding transactions and scheduled payments.

There are two ways to register a card, direct card registration and registration via card registration page.

In order to get the result of the registration, a webhook will be sent to the onboarded notification URL handler of the integrator.

To delete the registration and tokenization of the card, delete card registration can be used.

Direct Card Registration

POST /card-registration

Request Description

HEADER PARAMETERS

Content-Type optional
string
Default content type of the API.

Authorization required
string
Unique identifier of the integrator.

REQUEST BODY SCHEMA: application/json

payload required
string
Generated JSON Web Token (JWT) from transaction data signed with integrator's secret using HS256 algorithm.
Secret
issued key used for signing the payload data

Transaction Data
is a JSON-formatted data as shown below

{
    "data": {
        "credit_card": {
            "card_holder_name": "John Doe",
            "number": "0000000000000000",
            "expiration_month": "00",
            "expiration_year": "00",
            "cvv": "000"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "billing_address": {
                "line1": "#88",
                "line2": "Boston Ave. ",
                "city_municipality": "Philadelpia",
                "zip": "19132",
                "state_province_region": "PA",
                "country_code": "US"
            },
            "shipping_address": {
                "line1": "#88",
                "line2": "Boston Ave.",
                "city_municipality": "Philadelpia",
                "zip": "19132",
                "state_province_region": "PA",
                "country_code": "US"
            },
            "contact": {
                "email": "johndoe@domain.com",
                "mobile": "+639123456789"
            }
        },
        "custom_parameters": {
            "custom_param1": "param 1",
            "custom_param2": "param 2"
        },
        "route": {
            "callback_url": "https://tlpe.io/thankyou",
            "notify_user": true
        },
        "option": "{{generatedOptionKey}}",
        "time_offset": "+08:00",
        "customer_ip_address": "0.0.0.0"
    }
}

See API Reference > Transaction Body Payload Data for a guided requirement.

Info

For option parameter value, get the generated code from Get Payment Options endpoint response.


Request Samples

    curl
   -X POST "https://test-api.tlpe.io/card-registration" \
   -H "Content-Type: application/json" \
   -H "Authorization: {integratorToken}" \
   -d "{
      "payload":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7Im51bWJlciI6IjQwMTIwMDEwMzcxNDExMTIiLCJleHBpcmF0aW9uX21vbnRoIjoiMTIiLCJleHBpcmF0aW9uX3llYXIiOiIyNyIsImN2diI6IjIxMiIsImNhcmRfaG9sZGVyX25hbWUiOiJBYmVsIE1hY2xlYWQifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6IkFiZWwiLCJsYXN0X25hbWUiOiJNYWNsZWFkIiwiYmlsbGluZ19hZGRyZXNzIjp7ImxpbmUxIjoiIzg4IiwibGluZTIiOiJCb3N0b24gQXZlIiwiY2l0eV9tdW5pY2lwYWxpdHkiOiJQaGlsYWRlbHBoaWEiLCJ6aXAiOiIxOTEzMiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6IlBBIiwiY291bnRyeV9jb2RlIjoiVVMifSwiY29udGFjdCI6eyJlbWFpbCI6ImFtYWNsZWFkQGRvbWFpbi5jb20iLCJtb2JpbGUiOiIrMTQxNTU1MjY3MSJ9fSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly90bHBlLmlvL3RoYW5reW91Iiwibm90aWZ5X3VzZXIiOnRydWV9LCJjdXN0b21fcGFyYW1ldGVycyI6eyJjdXN0b21fcGFyYW0xIjoicGFyYW0gMSIsImN1c3RvbV9wYXJhbTIiOiJwYXJhbSAyIn0sIm9wdGlvbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpwYzNNaU9pSlVURkJGSWl3aWMzVmlJam9pVkV4UVJTQkNZWE5sSUZKdmRYUmxjaUJCZFhSb1pXNTBhV05oZEdsdmJpSXNJbUYxWkNJNklsUk1VRVVnUW1GelpTQlNiM1YwWlhJaUxDSmxlSEFpT2pFM05Ua3pNRFk1TURZc0ltbGhkQ0k2TVRjMU9URXpOREV3Tml3aWFuUnBJam9pWVdRNVlXSm1ZV1V0TUROak5DMDBOV014TFRnM1ltRXRZVGsyTTJRMFpEUTRabUUwSWl3aVpHRjBZU0k2SWpJNU1EUXlaR0kzTFdWbFl6SXRORE01WkMwNE9XUXdMVFl3TWpCaE1qZGxZMlUwTmlKOS5uREN0UVpjUnZndkFYUkk4ZXhwNzZ3dWJ3UFE4emhLQ1RpOGxfcXJKdTZBIn19.Bxaook7zKBsuynYGZ2oCjZc9DB3HsIbvdbEmxLP1GWw"
   }"
public Dictionary<string, dynamic> Payment()
  {
      Dictionary<string, dynamic> responseData;
      string payload = "{\"payload\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7ImNhcmRfaG9sZGVyX25hbWUiOiJWYWx1ZWQgQ3VzdG9tZXIiLCJudW1iZXIiOiI0MTExMTExMTExMTExMTExIiwiZXhwaXJhdGlvbl9tb250aCI6IjEyIiwiZXhwaXJhdGlvbl95ZWFyIjoiMjIiLCJjdnYiOiIxMjMifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6Ikp1YW4iLCJsYXN0X25hbWUiOiJEZWxhIENydXoiLCJiaWxsaW5nX2FkZHJlc3MiOnsibGluZTEiOiI5MDUgVmljZW50ZSBNYWRyaWdhbCIsImxpbmUyIjoiNjc5MyBBeWFsYSBBdmVudWUiLCJjaXR5X211bmljaXBhbGl0eSI6Ik1ha2F0aSBDaXR5IiwiemlwIjoiMTIyNiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6Ik1ldHJvIE1hbmlsYSIsImNvdW50cnlfY29kZSI6IlBIIn0sInNoaXBwaW5nX2FkZHJlc3MiOnsibGluZTEiOiI5MDUgVmljZW50ZSBNYWRyaWdhbCIsImxpbmUyIjoiNjc5MyBBeWFsYSBBdmVudWUiLCJjaXR5X211bmljaXBhbGl0eSI6Ik1ha2F0aSBDaXR5IiwiemlwIjoiMTIyNiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6Ik1ldHJvIE1hbmlsYSIsImNvdW50cnlfY29kZSI6IlBIIn0sImNvbnRhY3QiOnsiZW1haWwiOiJqdWFuLmRlbGFjcnV6QGFsdHBheW5ldC5jb20iLCJtb2JpbGUiOiIrNjM5MTIzNDU2Nzg5In19LCJwYXltZW50Ijp7ImRlc2NyaXB0aW9uIjoiU2FtcGxlIHRyYW5zYWN0aW9uIiwiYW1vdW50IjoxMCwiY3VycmVuY3kiOiJQSFAiLCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTJNamMzTWpFMU56SXNJbWxoZENJNk1UWXlOelUwT0RjM01pd2lhblJwSWpvaU56WTRZalZtTm1RdFlXTTNNQzAwT0RZMUxUaGxObVF0WmpSa016Wm1PV0k0TmpReUlpd2laR0YwWVNJNklqVTBNalUxTmpGaExXWTNNV1V0TkdRNVpTMDVNVFV5TFRsbE5UQTVOV1l3TldVeU5TSjkuVVk2d1ZsUnIxU0toaE15SzNxN1FWRUo3TkRBYW5wZTgzRWk1N3h0Y1o0RSIsIm1lcmNoYW50X3JlZmVyZW5jZV9pZCI6IjIwMjEwOTI5LTMifSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly9hbHRwYXluZXQuY29tIiwibm90aWZ5X3VzZXIiOnRydWV9LCJ0aW1lX29mZnNldCI6IiswODowMCJ9fQ.dNMBNJx7oHNufLchHBTnx5tKYC2qpHLAp6RCcSUcHSA\"}";
      string url = "https://test-api.tlpe.io/payment";
      byte[] buffer = Encoding.ASCII.GetBytes(payload);
      HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
      request.Method = "POST";
      request.Headers["Authorization"] = "{integratorToken}";
      request.ContentType = "application/json";
      Stream PostData = request.GetRequestStream();
      PostData.Write(buffer, 0, buffer.Length);
      PostData.Close();
   using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
      {
          Stream responseStream = response.GetResponseStream();
          StreamReader reader = new StreamReader(responseStream);
          StringReader sr = new StringReader(reader.ReadToEnd());

          JsonReader jreader = new JsonTextReader(sr);
          JsonSerializer jss = new JsonSerializer();
          responseData = jss.Deserialize<Dictionary<string, dynamic>>(jreader);
          reader.Close();
          responseStream.Close();
      }

   return responseData;
  }
   Public Function CardRegistration() As Dictionary(Of String, Object)
   Dim payload As String = "{""payload"":""eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7Im51bWJlciI6IjQwMTIwMDEwMzcxNDExMTIiLCJleHBpcmF0aW9uX21vbnRoIjoiMTIiLCJleHBpcmF0aW9uX3llYXIiOiIyNyIsImN2diI6IjIxMiIsImNhcmRfaG9sZGVyX25hbWUiOiJBYmVsIE1hY2xlYWQifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6IkFiZWwiLCJsYXN0X25hbWUiOiJNYWNsZWFkIiwiYmlsbGluZ19hZGRyZXNzIjp7ImxpbmUxIjoiIzg4IiwibGluZTIiOiJCb3N0b24gQXZlIiwiY2l0eV9tdW5pY2lwYWxpdHkiOiJQaGlsYWRlbHBoaWEiLCJ6aXAiOiIxOTEzMiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6IlBBIiwiY291bnRyeV9jb2RlIjoiVVMifSwiY29udGFjdCI6eyJlbWFpbCI6ImFtYWNsZWFkQGRvbWFpbi5jb20iLCJtb2JpbGUiOiIrMTQxNTU1MjY3MSJ9fSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly90bHBlLmlvL3RoYW5reW91Iiwibm90aWZ5X3VzZXIiOnRydWV9LCJjdXN0b21fcGFyYW1ldGVycyI6eyJjdXN0b21fcGFyYW0xIjoicGFyYW0gMSIsImN1c3RvbV9wYXJhbTIiOiJwYXJhbSAyIn0sIm9wdGlvbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpwYzNNaU9pSlVURkJGSWl3aWMzVmlJam9pVkV4UVJTQkNZWE5sSUZKdmRYUmxjaUJCZFhSb1pXNTBhV05oZEdsdmJpSXNJbUYxWkNJNklsUk1VRVVnUW1GelpTQlNiM1YwWlhJaUxDSmxlSEFpT2pFM05Ua3pNRFk1TURZc0ltbGhkQ0k2TVRjMU9URXpOREV3Tml3aWFuUnBJam9pWVdRNVlXSm1ZV1V0TUROak5DMDBOV014TFRnM1ltRXRZVGsyTTJRMFpEUTRabUUwSWl3aVpHRjBZU0k2SWpJNU1EUXlaR0kzTFdWbFl6SXRORE01WkMwNE9XUXdMVFl3TWpCaE1qZGxZMlUwTmlKOS5uREN0UVpjUnZndkFYUkk4ZXhwNzZ3dWJ3UFE4emhLQ1RpOGxfcXJKdTZBIn19.Bxaook7zKBsuynYGZ2oCjZc9DB3HsIbvdbEmxLP1GWw""}"
   Dim url As String = "https://test-api.tlpe.io/card-registration"
   Dim request As WebRequest = WebRequest.Create(url)
   request.Method = "POST"
   request.Headers.Add("Authorization", "{integratorToken}")
   request.ContentType = "application/json"
   Dim byteArray As Byte() = Encoding.UTF8.GetBytes(payload)
   request.ContentLength = byteArray.Length
   Dim dataStream As Stream = request.GetRequestStream()
   dataStream.Write(byteArray, 0, byteArray.Length)
   dataStream.Close()

   Dim response As WebResponse = request.GetResponse()
   Dim responseStream = response.GetResponseStream()
   Dim reader As New StreamReader(responseStream)
   Dim responseReader As StringReader = New StringReader(reader.ReadToEnd())
   Dim jreader As JsonReader = New JsonTextReader(responseReader)
   reader.Close()
   responseStream.Close()
   response.Close()
   Dim jss As New JsonSerializer()
   Dim responseData As Dictionary(Of String, Object) = jss.Deserialize(Of Dictionary(Of String, Object))(jreader)

   Return responseData
   End Function
   import http.client
   import json

   conn = http.client.HTTPSConnection('test-api.tlpe.io')
   payload = json.dumps({'payload': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7Im51bWJlciI6IjQwMTIwMDEwMzcxNDExMTIiLCJleHBpcmF0aW9uX21vbnRoIjoiMTIiLCJleHBpcmF0aW9uX3llYXIiOiIyNyIsImN2diI6IjIxMiIsImNhcmRfaG9sZGVyX25hbWUiOiJBYmVsIE1hY2xlYWQifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6IkFiZWwiLCJsYXN0X25hbWUiOiJNYWNsZWFkIiwiYmlsbGluZ19hZGRyZXNzIjp7ImxpbmUxIjoiIzg4IiwibGluZTIiOiJCb3N0b24gQXZlIiwiY2l0eV9tdW5pY2lwYWxpdHkiOiJQaGlsYWRlbHBoaWEiLCJ6aXAiOiIxOTEzMiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6IlBBIiwiY291bnRyeV9jb2RlIjoiVVMifSwiY29udGFjdCI6eyJlbWFpbCI6ImFtYWNsZWFkQGRvbWFpbi5jb20iLCJtb2JpbGUiOiIrMTQxNTU1MjY3MSJ9fSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly90bHBlLmlvL3RoYW5reW91Iiwibm90aWZ5X3VzZXIiOnRydWV9LCJjdXN0b21fcGFyYW1ldGVycyI6eyJjdXN0b21fcGFyYW0xIjoicGFyYW0gMSIsImN1c3RvbV9wYXJhbTIiOiJwYXJhbSAyIn0sIm9wdGlvbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpwYzNNaU9pSlVURkJGSWl3aWMzVmlJam9pVkV4UVJTQkNZWE5sSUZKdmRYUmxjaUJCZFhSb1pXNTBhV05oZEdsdmJpSXNJbUYxWkNJNklsUk1VRVVnUW1GelpTQlNiM1YwWlhJaUxDSmxlSEFpT2pFM05Ua3pNRFk1TURZc0ltbGhkQ0k2TVRjMU9URXpOREV3Tml3aWFuUnBJam9pWVdRNVlXSm1ZV1V0TUROak5DMDBOV014TFRnM1ltRXRZVGsyTTJRMFpEUTRabUUwSWl3aVpHRjBZU0k2SWpJNU1EUXlaR0kzTFdWbFl6SXRORE01WkMwNE9XUXdMVFl3TWpCaE1qZGxZMlUwTmlKOS5uREN0UVpjUnZndkFYUkk4ZXhwNzZ3dWJ3UFE4emhLQ1RpOGxfcXJKdTZBIn19.Bxaook7zKBsuynYGZ2oCjZc9DB3HsIbvdbEmxLP1GWw'})
   headers = {'Content-Type': 'application/json',
            'Authorization': '{integratorToken}'}
   conn.request('POST', '/card-registration', payload, headers)
   res = conn.getresponse()
   data = res.read()
   print data.decode('utf-8'))
   <?php
   $curl = curl_init();

   curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://test-api.tlpe.io/card-registration',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'POST',
      CURLOPT_POSTFIELDS => '{

                     "payload":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7Im51bWJlciI6IjQwMTIwMDEwMzcxNDExMTIiLCJleHBpcmF0aW9uX21vbnRoIjoiMTIiLCJleHBpcmF0aW9uX3llYXIiOiIyNyIsImN2diI6IjIxMiIsImNhcmRfaG9sZGVyX25hbWUiOiJBYmVsIE1hY2xlYWQifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6IkFiZWwiLCJsYXN0X25hbWUiOiJNYWNsZWFkIiwiYmlsbGluZ19hZGRyZXNzIjp7ImxpbmUxIjoiIzg4IiwibGluZTIiOiJCb3N0b24gQXZlIiwiY2l0eV9tdW5pY2lwYWxpdHkiOiJQaGlsYWRlbHBoaWEiLCJ6aXAiOiIxOTEzMiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6IlBBIiwiY291bnRyeV9jb2RlIjoiVVMifSwiY29udGFjdCI6eyJlbWFpbCI6ImFtYWNsZWFkQGRvbWFpbi5jb20iLCJtb2JpbGUiOiIrMTQxNTU1MjY3MSJ9fSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly90bHBlLmlvL3RoYW5reW91Iiwibm90aWZ5X3VzZXIiOnRydWV9LCJjdXN0b21fcGFyYW1ldGVycyI6eyJjdXN0b21fcGFyYW0xIjoicGFyYW0gMSIsImN1c3RvbV9wYXJhbTIiOiJwYXJhbSAyIn0sIm9wdGlvbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpwYzNNaU9pSlVURkJGSWl3aWMzVmlJam9pVkV4UVJTQkNZWE5sSUZKdmRYUmxjaUJCZFhSb1pXNTBhV05oZEdsdmJpSXNJbUYxWkNJNklsUk1VRVVnUW1GelpTQlNiM1YwWlhJaUxDSmxlSEFpT2pFM05Ua3pNRFk1TURZc0ltbGhkQ0k2TVRjMU9URXpOREV3Tml3aWFuUnBJam9pWVdRNVlXSm1ZV1V0TUROak5DMDBOV014TFRnM1ltRXRZVGsyTTJRMFpEUTRabUUwSWl3aVpHRjBZU0k2SWpJNU1EUXlaR0kzTFdWbFl6SXRORE01WkMwNE9XUXdMVFl3TWpCaE1qZGxZMlUwTmlKOS5uREN0UVpjUnZndkFYUkk4ZXhwNzZ3dWJ3UFE4emhLQ1RpOGxfcXJKdTZBIn19.Bxaook7zKBsuynYGZ2oCjZc9DB3HsIbvdbEmxLP1GWw"

                     }',
      CURLOPT_HTTPHEADER => array(
         'Content-Type: application/json',
         'Authorization: {integratorToken}'
      ) ,
   ));

   $response = curl_exec($curl);

   curl_close($curl);
   echo $response;
   require 'rest-client'
   require 'json'

   response = RestClient::Request.execute(
   method:  :post, 
   url:     "https://test-api.tlpe.io/card-registration",
   payload: '{"payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7Im51bWJlciI6IjQwMTIwMDEwMzcxNDExMTIiLCJleHBpcmF0aW9uX21vbnRoIjoiMTIiLCJleHBpcmF0aW9uX3llYXIiOiIyNyIsImN2diI6IjIxMiIsImNhcmRfaG9sZGVyX25hbWUiOiJBYmVsIE1hY2xlYWQifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6IkFiZWwiLCJsYXN0X25hbWUiOiJNYWNsZWFkIiwiYmlsbGluZ19hZGRyZXNzIjp7ImxpbmUxIjoiIzg4IiwibGluZTIiOiJCb3N0b24gQXZlIiwiY2l0eV9tdW5pY2lwYWxpdHkiOiJQaGlsYWRlbHBoaWEiLCJ6aXAiOiIxOTEzMiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6IlBBIiwiY291bnRyeV9jb2RlIjoiVVMifSwiY29udGFjdCI6eyJlbWFpbCI6ImFtYWNsZWFkQGRvbWFpbi5jb20iLCJtb2JpbGUiOiIrMTQxNTU1MjY3MSJ9fSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly90bHBlLmlvL3RoYW5reW91Iiwibm90aWZ5X3VzZXIiOnRydWV9LCJjdXN0b21fcGFyYW1ldGVycyI6eyJjdXN0b21fcGFyYW0xIjoicGFyYW0gMSIsImN1c3RvbV9wYXJhbTIiOiJwYXJhbSAyIn0sIm9wdGlvbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpwYzNNaU9pSlVURkJGSWl3aWMzVmlJam9pVkV4UVJTQkNZWE5sSUZKdmRYUmxjaUJCZFhSb1pXNTBhV05oZEdsdmJpSXNJbUYxWkNJNklsUk1VRVVnUW1GelpTQlNiM1YwWlhJaUxDSmxlSEFpT2pFM05Ua3pNRFk1TURZc0ltbGhkQ0k2TVRjMU9URXpOREV3Tml3aWFuUnBJam9pWVdRNVlXSm1ZV1V0TUROak5DMDBOV014TFRnM1ltRXRZVGsyTTJRMFpEUTRabUUwSWl3aVpHRjBZU0k2SWpJNU1EUXlaR0kzTFdWbFl6SXRORE01WkMwNE9XUXdMVFl3TWpCaE1qZGxZMlUwTmlKOS5uREN0UVpjUnZndkFYUkk4ZXhwNzZ3dWJ3UFE4emhLQ1RpOGxfcXJKdTZBIn19.Bxaook7zKBsuynYGZ2oCjZc9DB3HsIbvdbEmxLP1GWw"}',
   headers: { authorization: '{integratorToken}', content_type: 'application/json', accept: 'application/json'}
   )

   responseJson = JSON.parse(response)

   puts JSON.pretty_generate(responseJson)
   var request = require('request');
   var options = {
      'method': 'POST',
      'url': 'https://test-api.tlpe.io/card-registration',
      'headers': {
         'Content-Type': 'application/json',
         'Authorization': '{integratorToken}'
      },
      body: JSON.stringify({
         "payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNyZWRpdF9jYXJkIjp7Im51bWJlciI6IjQwMTIwMDEwMzcxNDExMTIiLCJleHBpcmF0aW9uX21vbnRoIjoiMTIiLCJleHBpcmF0aW9uX3llYXIiOiIyNyIsImN2diI6IjIxMiIsImNhcmRfaG9sZGVyX25hbWUiOiJBYmVsIE1hY2xlYWQifSwiY3VzdG9tZXIiOnsiZmlyc3RfbmFtZSI6IkFiZWwiLCJsYXN0X25hbWUiOiJNYWNsZWFkIiwiYmlsbGluZ19hZGRyZXNzIjp7ImxpbmUxIjoiIzg4IiwibGluZTIiOiJCb3N0b24gQXZlIiwiY2l0eV9tdW5pY2lwYWxpdHkiOiJQaGlsYWRlbHBoaWEiLCJ6aXAiOiIxOTEzMiIsInN0YXRlX3Byb3ZpbmNlX3JlZ2lvbiI6IlBBIiwiY291bnRyeV9jb2RlIjoiVVMifSwiY29udGFjdCI6eyJlbWFpbCI6ImFtYWNsZWFkQGRvbWFpbi5jb20iLCJtb2JpbGUiOiIrMTQxNTU1MjY3MSJ9fSwicm91dGUiOnsiY2FsbGJhY2tfdXJsIjoiaHR0cHM6Ly90bHBlLmlvL3RoYW5reW91Iiwibm90aWZ5X3VzZXIiOnRydWV9LCJjdXN0b21fcGFyYW1ldGVycyI6eyJjdXN0b21fcGFyYW0xIjoicGFyYW0gMSIsImN1c3RvbV9wYXJhbTIiOiJwYXJhbSAyIn0sIm9wdGlvbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpwYzNNaU9pSlVURkJGSWl3aWMzVmlJam9pVkV4UVJTQkNZWE5sSUZKdmRYUmxjaUJCZFhSb1pXNTBhV05oZEdsdmJpSXNJbUYxWkNJNklsUk1VRVVnUW1GelpTQlNiM1YwWlhJaUxDSmxlSEFpT2pFM05Ua3pNRFk1TURZc0ltbGhkQ0k2TVRjMU9URXpOREV3Tml3aWFuUnBJam9pWVdRNVlXSm1ZV1V0TUROak5DMDBOV014TFRnM1ltRXRZVGsyTTJRMFpEUTRabUUwSWl3aVpHRjBZU0k2SWpJNU1EUXlaR0kzTFdWbFl6SXRORE01WkMwNE9XUXdMVFl3TWpCaE1qZGxZMlUwTmlKOS5uREN0UVpjUnZndkFYUkk4ZXhwNzZ3dWJ3UFE4emhLQ1RpOGxfcXJKdTZBIn19.Bxaook7zKBsuynYGZ2oCjZc9DB3HsIbvdbEmxLP1GWw"
      })
   };
   request(options, function(error, response) {
      if (error) throw new Error(error);
      console.log(response.body);
   });

Download Postman request here

Response Description

200 Successful Response

RESPONSE SCHEMA: application/json

timestamp
string
Transaction timestamp

status
string
HTTP status code

message
string
HTTP status code message/description

path
string
Endpoint path used for the transaction

data
object
Contains transaction-related response

reference
string
Reference number of the card registration

status_code
string
API status code

status_description
string
API status code message/description

masked_pan
string
concealed card number used in card registration

redirect_url
string
secure page to authenticate card registration

422 Erroneous Response

RESPONSE SCHEMA: application/json

timestamp
string
Transaction timestamp

status
string
HTTP status code

message
string
HTTP status code message/description

path
string
Endpoint path used for the transaction

data
object
Contains transaction-related response

status_code
string
API status code

status_description
string
API status code message/description

Response Samples

{
   "timestamp": " 2025-09-24T02:55:11.626+0000",
   "status": 200,
   "message": "Request processed successfully",
   "path": "/card-registration",
   "data": {
      "reference": "{reference}",
      "status_description": "Card registration pending",
      "status_code": "OK.11.10",
      "redirect_url": "{redirectURL}"
}
}
{
   "timestamp":"2020-07-14T09:29:49.843+0000",
   "status":401,
   "messages":"Card registration not allowed",
   "path":"/card-registration",
   "data":{
      "status_code":"ER.02.10",
      "status_description":"InvUnauthorized client request"
   }
}

See API Reference > Response Messages for a guided reference.

Card Registration Page

POST /card-registration/page

Request Description

HEADER PARAMETERS

Content-Type optional
string
Default content type of the API

Authorization required
string
Unique identifier of the integrator.

REQUEST BODY SCHEMA: application/json

payload required
string
Generated JSON Web Token (JWT) from transaction data signed with integrator's secret using HS256 algorithm.
Secret
issued key used for signing the payload data

Data
is a JSON-formatted data as shown below

{
    "data": {
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "billing_address": {
                "line1": "#88",
                "line2": "Boston Ave. ",
                "city_municipality": "Philadelpia",
                "zip": "19132",
                "state_province_region": "PA",
                "country_code": "US"
            },
            "shipping_address": {
                "line1": "#88",
                "line2": "Boston Ave.",
                "city_municipality": "Philadelpia",
                "zip": "19132",
                "state_province_region": "PA",
                "country_code": "US"
            },
            "contact": {
                "email": "johndoe@domain.com",
                "mobile": "+639123456789"
            }
        },
        "custom_parameters": {
            "custom_param1": "param 1",
            "custom_param2": "param 2"
        },
        "route": {
            "callback_url": "https://tlpe.io/thankyou",
            "notify_user": true
        },
        "option": "{{generatedOptionKey}}",
        "time_offset": "+08:00",
        "customer_ip_address": "0.0.0.0"
    }
}

See API Reference > Transaction Body Payload Data for a guided requirement.

Info

For option parameter value, get the generated code from Get Payment Options endpoint response.


Request Samples

curl
   -X POST "https://test-api.tlpe.io/card-registration/page" \
   -H "Content-Type: application/json" \
   -H "Authorization: {integratorToken}" \
   -d "{
            "payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ"
      }"
   public Dictionary<string, dynamic> CardRegistrationPage()
      {
            Dictionary<string, dynamic> responseData;
            string payload = "{\"payload\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ\"}";
            string url = "https://test-api.tlpe.io/card-registraion/page";
            byte[] buffer = Encoding.ASCII.GetBytes(payload);
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "POST";
            request.Headers["Authorization"] = "{integratorToken}";
            request.ContentType = "application/json";
            Stream PostData = request.GetRequestStream();
            PostData.Write(buffer, 0, buffer.Length);
            PostData.Close();
         using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
               Stream responseStream = response.GetResponseStream();
               StreamReader reader = new StreamReader(responseStream);
               StringReader sr = new StringReader(reader.ReadToEnd());

               JsonReader jreader = new JsonTextReader(sr);
               JsonSerializer jss = new JsonSerializer();
               responseData = jss.Deserialize<Dictionary<string, dynamic>>(jreader);
               reader.Close();
               responseStream.Close();
            }

         return responseData;
      }
   Public Function CardRegistrationPage() As Dictionary(Of String, Object)
   Dim payload As String = "{""payload"":""eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ""}"
   Dim url As String = "https://test-api.tlpe.io/card-registration/page"
   Dim request As WebRequest = WebRequest.Create(url)
   request.Method = "POST"
   request.Headers.Add("Authorization", "{integratorToken}")
   request.ContentType = "application/json"
   Dim byteArray As Byte() = Encoding.UTF8.GetBytes(payload)
   request.ContentLength = byteArray.Length
   Dim dataStream As Stream = request.GetRequestStream()
   dataStream.Write(byteArray, 0, byteArray.Length)
   dataStream.Close()

   Dim response As WebResponse = request.GetResponse()
   Dim responseStream = response.GetResponseStream()
   Dim reader As New StreamReader(responseStream)
   Dim responseReader As StringReader = New StringReader(reader.ReadToEnd())
   Dim jreader As JsonReader = New JsonTextReader(responseReader)
   reader.Close()
   responseStream.Close()
   response.Close()
   Dim jss As New JsonSerializer()
   Dim responseData As Dictionary(Of String, Object) = jss.Deserialize(Of Dictionary(Of String, Object))(jreader)

   Return responseData
   End Function
   import http.client
   import json

   conn = http.client.HTTPSConnection('test-api.tlpe.io')
   payload = json.dumps({'payload': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ'})
   headers = {'Authorization': '{integratorToken}',
               'Content-Type': 'application/json'}
   conn.request('POST', '/card-registration/page', payload, headers)
   res = conn.getresponse()
   data = res.read()
   print data.decode('utf-8')
   <?php
   $curl = curl_init();

   curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://test-api.tlpe.io/card-registration/page',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'POST',
      CURLOPT_POSTFIELDS => '{

                     "payload":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ"

                     }',
      CURLOPT_HTTPHEADER => array(
         'Content-Type: application/json',
         'Authorization: {integratorToken}'
      ) ,
   ));

   $response = curl_exec($curl);

   curl_close($curl);
   echo $response;
   require 'rest-client'
   require 'json'

   response = RestClient::Request.execute(
   method:  :post, 
   url:     "https://test-api.tlpe.io/card-registration/page",
   payload: '{"payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ"}',
   headers: { authorization: '{integratorToken}', content_type: 'application/json', accept: 'application/json'}
   )

   responseJson = JSON.parse(response)

   puts JSON.pretty_generate(responseJson)
   var request = require('request');
   var options = {
      'method': 'POST',
      'url': 'https://test-api.tlpe.io/card-registration/page',
      'headers': {
         'Content-Type': 'application/json',
         'Authorization': '{integratorToken}'
      },
      body: JSON.stringify({
         "payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImN1c3RvbWVyIjp7ImZpcnN0X25hbWUiOiJBYmVsIiwibGFzdF9uYW1lIjoiTWFjbGVhZCIsImJpbGxpbmdfYWRkcmVzcyI6eyJsaW5lMSI6IiM4OCIsImxpbmUyIjoiQm9zdG9uIEF2ZSIsImNpdHlfbXVuaWNpcGFsaXR5IjoiUGhpbGFkZWxwaGlhIiwiemlwIjoiMTkxMzIiLCJzdGF0ZV9wcm92aW5jZV9yZWdpb24iOiJQQSIsImNvdW50cnlfY29kZSI6IlVTIn0sImNvbnRhY3QiOnsiZW1haWwiOiJhbWFjbGVhZEBkb21haW4uY29tIiwibW9iaWxlIjoiKzE0MTU1NTI2NzEifX0sInJvdXRlIjp7ImNhbGxiYWNrX3VybCI6Imh0dHBzOi8vdGxwZS5pby90aGFua3lvdSIsIm5vdGlmeV91c2VyIjp0cnVlfSwiY3VzdG9tX3BhcmFtZXRlcnMiOnsiY3VzdG9tX3BhcmFtMSI6InBhcmFtIDEiLCJjdXN0b21fcGFyYW0yIjoicGFyYW0gMiJ9LCJvcHRpb24iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKcGMzTWlPaUpVVEZCRklpd2ljM1ZpSWpvaVZFeFFSU0JDWVhObElGSnZkWFJsY2lCQmRYUm9aVzUwYVdOaGRHbHZiaUlzSW1GMVpDSTZJbFJNVUVVZ1FtRnpaU0JTYjNWMFpYSWlMQ0psZUhBaU9qRTNOVGt6TURZNU1EWXNJbWxoZENJNk1UYzFPVEV6TkRFd05pd2lhblJwSWpvaVlXUTVZV0ptWVdVdE1ETmpOQzAwTldNeExUZzNZbUV0WVRrMk0yUTBaRFE0Wm1FMElpd2laR0YwWVNJNklqSTVNRFF5WkdJM0xXVmxZekl0TkRNNVpDMDRPV1F3TFRZd01qQmhNamRsWTJVME5pSjkubkRDdFFaY1J2Z3ZBWFJJOGV4cDc2d3Vid1BROHpoS0NUaThsX3FySnU2QSJ9fQ.5SNWETopyC8urFfNiUgerhZ_c3A1APUnCsRn9f1kVEQ"
      })
   };
   request(options, function(error, response) {
      if (error) throw new Error(error);
      console.log(response.body);
   });

Download Postman request here

Response Description

200 Successful Response

RESPONSE SCHEMA: application/json

timestamp
string
Transaction timestamp

status
string
HTTP status code

message
string
HTTP status code message/description

path
string
Endpoint path used for the transaction

data
object
Contains transaction-related response

registration_page_id
string
Reference number of the card registration page

status_code
string
API status code

status_description
string
API status code message/description

redirect_url
string
secure page to collect cardholder data and registration

422 Erroneous Response

RESPONSE SCHEMA: application/json

timestamp
string
Transaction timestamp

status
string
HTTP status code

message
string
HTTP status code message/description

path
string
Endpoint path used for the transaction

data
object
Contains transaction-related response

status_code
string
API status code

status_description
string
API status code message/description

Response Samples

{
  "timestamp": " 2025-09-24T02:55:11.626+0000",
  "status": 200,
  "message": "Request processed successfully",
   "path": "/card-registration",
   "data": {
      "registration_page_id": "{reference}",
      "status_description": "Card registration pending",
      "status_code": "OK.11.10",
      "redirect_url": "{redirectURL}"
    }
}
{
   "timestamp":"2020-07-14T09:29:49.843+0000",
   "status":401,
   "messages":"Card registration not allowed",
   "path":"/card-registration",
   "data":{
      "status_code":"ER.02.10",
      "status_description":"Unauthorized client request"
   }
}

See API Reference > Response Messages for a guided reference.

Delete Card Registration

DELETE /card-registration/page

Request Description

HEADER PARAMETERS

Content-Type optional
string
Default content type of the API.

Authorization required
string
Unique identifier of the integrator.

REQUEST BODY SCHEMA: application/json

reference required
string
Generated reference from card registration request
   { 
      "reference": "3dfc4a68-f1be-49a1-9e09-b08167fdeb25 "
   }


Request Samples

curl
-X DELETE "https://test-api.tlpe.io/card-registration" \
-H "Content-Type: application/json" \
-H "Authorization: {integratorToken}" \
-d "{
"reference": "3dfc4a68-f1be-49a1-9e09-b08167fdeb25"
   }"
public Dictionary<string, dynamic> DeleteCardRegistration()
   {
      Dictionary<string, dynamic> responseData;
      string payload = "{\"reference\":\"{reference}\"}";
      string url = "https://test-api.tlpe.io/card-registration";
      byte[] buffer = Encoding.ASCII.GetBytes(payload);
      HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
      request.Method = "DELETE";
      request.Headers["Authorization"] = "{integratorToken}";
      request.ContentType = "application/json";
      Stream PostData = request.GetRequestStream();
      PostData.Write(buffer, 0, buffer.Length);
      PostData.Close();
      using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
      {
            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);
            StringReader sr = new StringReader(reader.ReadToEnd());

            JsonReader jreader = new JsonTextReader(sr);
            JsonSerializer jss = new JsonSerializer();
            responseData = jss.Deserialize<Dictionary<string, dynamic>>(jreader);
            reader.Close();
            responseStream.Close();
      }

      return responseData;

   }
Public Function DeleteCardRegistration() As Dictionary(Of String, Object)
   Dim payload As String = "{""reference"":""{reference}""}"
   Dim url As String = "https://test-api.tlpe.io/card-registration"
   Dim request As WebRequest = WebRequest.Create(url)
   request.Method = "DELETE"
   request.Headers.Add("Authorization", "{ingtegratorToken}")
   request.ContentType = "application/json"
   Dim byteArray As Byte() = Encoding.UTF8.GetBytes(payload)
   request.ContentLength = byteArray.Length
   Dim dataStream As Stream = request.GetRequestStream()
   dataStream.Write(byteArray, 0, byteArray.Length)
   dataStream.Close()

   Dim response As WebResponse = request.GetResponse()
   Dim responseStream = response.GetResponseStream()
   Dim reader As New StreamReader(responseStream)
   Dim responseReader As StringReader = New StringReader(reader.ReadToEnd())
   Dim jreader As JsonReader = New JsonTextReader(responseReader)
   reader.Close()
   responseStream.Close()
   response.Close()
   Dim jss As New JsonSerializer()
   Dim responseData As Dictionary(Of String, Object) = jss.Deserialize(Of Dictionary(Of String, Object))(jreader)

   Return responseData
End Function
import http.client
import json

conn = http.client.HTTPSConnection('test-api.tlpe.io')
payload = json.dumps({'reference': '{reference}})
headers = {'Content-Type': 'application/json',
      'Authorization': '{integratorToken}'}
conn.request('DELETE', '/card-registration', payload, headers)
res = conn.getresponse()
data = res.read()
print data.decode('utf-8'))
<?php
$curl = curl_init();

curl_setopt_array($curl, array(
   CURLOPT_URL => 'https://test-api.tlpe.io/card-registration',
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '',
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => 'DELETE',
   CURLOPT_POSTFIELDS => '{
            "reference":"{reference}"
            }',
   CURLOPT_HTTPHEADER => array(
      'Content-Type: application/json',
      'Authorization: {integratorToken}'
   ) ,
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
require 'rest-client'
require 'json'

response = RestClient::Request.execute(
method:  :delete, 
url:     "https://test-api.tlpe.io/card-registration",
payload: '{
   "reference":"{reference}"
}',
headers: { authorization: '{integratorToken}', content_type: 'application/json', accept: 'application/json'}
)

responseJson = JSON.parse(response)

puts JSON.pretty_generate(responseJson)
var request = require('request');
var options = {
   'method': 'DELETE',
   'url': 'https://test-api.tlpe.io/card-registration',
   'headers': {
      'Content-Type': 'application/json',
      'Authorization': '{integratorToken}'
   },
   body: JSON.stringify({
      "reference": "{reference}"
   })
};
request(options, function(error, response) {
   if (error) throw new Error(error);
   console.log(response.body);
});

Download Postman request here

Response Description

200 Successful Response

RESPONSE SCHEMA: application/json

timestamp
string
Transaction timestamp

status
string
HTTP status code

message
string
HTTP status code message/description

path
string
Endpoint path used for the transaction

data
object
Contains transaction-related response

status_code
string
API status code

status_description
string
API status code message/description

422 Erroneous Response

RESPONSE SCHEMA: application/json

timestamp
string
Transaction timestamp

status
string
HTTP status code

message
string
HTTP status code message/description

path
string
Endpoint path used for the transaction

data
object
Contains transaction-related response

status_code
string
API status code

status_description
string
API status code message/description

Response Samples

{
   "timestamp":"2020-07-14T09:29:49.843+0000",
   "status":200,
   "message": "Request processed successfully",
   "path": "/card-registration",
   "data": {
      "status_description": "Card registration deletion successful",
      "status_code": "OK.11.20",
      "timestamp": "2025-09-25T01:52:44.876+0000",    
  }
}
{
   "timestamp":"2020-07-14T09:29:49.843+0000",
   "status":404,
   "messages":"Not found",
   "path":"/card-registration",
   "data":{
      "status_description":"Invalid client request due to 'invalid parameters'",
      "status_code":"ER.02.30"
   }
}

See API Reference > Response Messages for a guided reference.