/

BigCommerce

BigCommerce

Integration type

eComm

What we solve

BigCommerce merchants that sell regulated or high-risk products need a friction-minimized way to verify customer identity in checkout and block payment/order completion until required assurance is met—without manual review or custom storefront rewrites. This integration embeds 1Kosmos IDV directly into the BigCommerce checkout experience via Checkout JS + Scripts Manager, uses webhooks for asynchronous results, and writes verification outcomes (IAL level, VC token, LiveID enrollment) back to customer custom fields through the BigCommerce Store Management REST API so checkout and downstream workflows can automatically allow, hold, or step-up orders.

Integration architecture

1Kosmos publishes a BigCommerce App Marketplace listing. The integration uses:

  • Checkout JS SDK hook at the payment step

  • Scripts Manager to inject the 1Kosmos Verify widget onto storefront pages

  • Webhooks for async result consumption

  • Store Management REST API for customer attribute write-back

Checkout gate flow:




Specific API calls:

// BigCommerce Checkout JS hook
CheckoutService.subscribe(state => {
  const customer = state.data.getCustomer();
  if (!customer.custom_fields?.blockid_ial || customer.custom_fields.blockid_ial < 2) {
    window.BlockIDVerify.init({
      apiBase: 'https://verify.1kosmos.net',
      tenantId: BC_STORE_HASH,
      onComplete: (result) => {
        fetch('https://blockid-receiver.1kosmos.net/bc/result', {
          method: 'POST',
          body: JSON.stringify({ store_hash: BC_STORE_HASH, result })
        });
      }
    });
  }
});
// BigCommerce Checkout JS hook
CheckoutService.subscribe(state => {
  const customer = state.data.getCustomer();
  if (!customer.custom_fields?.blockid_ial || customer.custom_fields.blockid_ial < 2) {
    window.BlockIDVerify.init({
      apiBase: 'https://verify.1kosmos.net',
      tenantId: BC_STORE_HASH,
      onComplete: (result) => {
        fetch('https://blockid-receiver.1kosmos.net/bc/result', {
          method: 'POST',
          body: JSON.stringify({ store_hash: BC_STORE_HASH, result })
        });
      }
    });
  }
});
// BigCommerce Checkout JS hook
CheckoutService.subscribe(state => {
  const customer = state.data.getCustomer();
  if (!customer.custom_fields?.blockid_ial || customer.custom_fields.blockid_ial < 2) {
    window.BlockIDVerify.init({
      apiBase: 'https://verify.1kosmos.net',
      tenantId: BC_STORE_HASH,
      onComplete: (result) => {
        fetch('https://blockid-receiver.1kosmos.net/bc/result', {
          method: 'POST',
          body: JSON.stringify({ store_hash: BC_STORE_HASH, result })
        });
      }
    });
  }
});
PUT /v2/customers/{customer_id}
{
  "custom_fields": [
    { "name": "blockid_ial", "value": "2" },
    { "name": "blockid_vc_token", "value": "{jwt}" },
    { "name": "blockid_liveid_enrolled", "value": "true" }
  ]

PUT /v2/customers/{customer_id}
{
  "custom_fields": [
    { "name": "blockid_ial", "value": "2" },
    { "name": "blockid_vc_token", "value": "{jwt}" },
    { "name": "blockid_liveid_enrolled", "value": "true" }
  ]

PUT /v2/customers/{customer_id}
{
  "custom_fields": [
    { "name": "blockid_ial", "value": "2" },
    { "name": "blockid_vc_token", "value": "{jwt}" },
    { "name": "blockid_liveid_enrolled", "value": "true" }
  ]

Webhook subscriptions:

  • store/customer/created

  • store/order/statusUpdated (for step-up on high-value orders)

Transform how you verify and authenticate

Secure onboarding, eliminate passwords, and stop fraud on one platform. Schedule a demo and see it in action.

Transform how you verify and authenticate

Secure onboarding, eliminate passwords, and stop fraud on one platform. Schedule a demo and see it in action.

Transform how you verify and authenticate

Secure onboarding, eliminate passwords, and stop fraud on one platform. Schedule a demo and see it in action.