For any question, we are one click away

Contact us

Web SDK Core

Library for generating cryptograms from data received from the payment form. The library generates the response asynchronously! A callback is used to get the result.

The library is used by the Merchant on their website. A list of payment form parameters (mdOrder, pan, expiry, etc.) is passed to the library, and the output is a cryptogram ready for transfer to the acquiring backend.

Example of use

<script src="https://dev.bpcbt.com/payment/modules/card-kit-core/card-kit-core.js"></script>
<script>
  window.CKCToken.generateWithCard(
    {
      pan: '4111111111111111',
      cvc: '123',
      expiryMMYY: '12/24',
      mdOrder: '63447c9c-b432-7c8e-962f-161c0008f9da',
      // pubKey: '-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAioZS/AN/xWtZsQNFjOc8VjKnE5xwQuT0zV0q2j2JpBN66We1+dya9gfqt14Mg53tHfvTB+hbHpmK8mYlPdpZXnIIN3TuBv9llfwmAMm4pFRDG8KeIgOVLSGptHufjwoh2iE4YfxZWgCbnkqjDk6YiTPdy+W7nxF+fPUEsFE1YJDTRwzVqpsbjfKW9tQAjDxpAwfsiyhk0NzTEsDahWtjk1+WaqqrN0LRQgtaTnnbjSr3npmegu63mgTXBX1MT5olRY+BjCaPCZLt+6sFNd/wVI+UBo3/U6jHEHVe3T1vdZWNhJe2twFzrSSpm5aevDK7OpQzMT7v2wUIRWIlFvIxFwIDAQAB-----END PUBLIC KEY-----',             
    },
    function (result) {
      console.log('Result:', result);
 
      // // Example result:
      // {
      //   token: null,
      //   errors: [
      //     {field: "pan", error: "invalid-length"},
      //     {field: "cvc", error: "required"}
      //   ]
      // }
    }
  );
</script>

Parameters

ParameterMandatoryPurpose
mdOrderyesIdentifier of the order
panyesCard number (no spaces)
cvcnoCVV/CVC code of the card
expiryMMYYnodate in MM/YY or MMYY format
pubKeynoPublic key for encryption (if the parameter is not set, the key will be obtained from the server automatically)

Errors

Error typeExplanation
requiredThe field is required.
invalid-formatData format is invalid.
invalid-lengthField length is invalid.
invalid-pub-keyKey is invalid.
get-pub-key-failedFailed to get key from server.

Response format

{
  token: "...", // obtained token ready for passing
  errors: [ // errors array
    {
      field: "pan", // Field name
      error: "invalid-length" // Error type
    },
  ]
}

Example of payment request with generated cryptogram

curl --location --request POST 'https://dev.bpcbt.com/payment/rest/paymentorder.do' \
    --header 'Content-type: application/x-www-form-urlencoded' \
    --data-urlencode 'MDORDER=63447c9c-b432-7c8e-962f-161c0008f9da' \
    --data-urlencode 'language=en' \
    --data-urlencode 'TEXT=CARDHOLDER NAME' \
    --data-urlencode 'email=' \
    --data-urlencode 'seToken=Cfqv4t2XHBb9k8ixM7jxxCvziETS4koa3bV3F0QUvGVY47nKyMBqjGzV%2FrvmCAw6KzwoBDzeLsqwBLEzvQhaF627ZS0OJnhttBi4fL3%2Fh%2FsBSwFtxr3s%2BoVUeoE3e4SNVUq9vciinOyNCIKqfpeQya%2BpOUYt3MgrtSeu66Ar12XEj4k6lecZN7Ffquj9RqhZsYhP63np5VCxJR90cNQG%2BTMWIFU6rqxLAe4gzCJtcXNrPT8aDOI201Zwd%2Be4K1YnrI7dZGlibO7MVMPB9m7NJaJTHko%2FMiJNWumAjS4yDDovLraIKMwOFTvAhqXsHslthpcUO0GZXEIaDRgERD7%2Bjw%3D%3D' \
    --data-urlencode 'userName=tm-api' \
    --data-urlencode 'password=XXXXXXX'
Categories:
eCommerceSDK
Categories
Search results