Skip to main content
The Shopify integration adds identity verification to your Shopify store. Require KYC for high-value orders, age-restricted products, or new customer account creation.

Prerequisites

  • A Shopify store on the Basic plan or above
  • Shopify admin access to create custom apps
  • Verilock Business or Enterprise plan

Setup

1

Create a Custom App

In your Shopify admin, go to Settings > Apps and sales channels > Develop apps. Click Create an app and name it Verilock Identity.
2

Configure API Scopes

Under Configuration, add the following Admin API scopes:
ScopePurpose
read_customersAccess customer data for verification
write_customersUpdate customer metafields with verification status
read_ordersAccess order data for checkout verification
write_ordersTag orders with verification status
Click Save and then Install app.
3

Copy Access Token

After installation, copy the Admin API access token. This token is shown only once, so store it securely.
4

Configure in Verilock

Go to Dashboard > Settings > Integrations > Shopify and enter:
  • Shop Domain: your-store.myshopify.com
  • Access Token: The Admin API access token
  • Webhook Secret: Auto-generated, copy this for your Shopify webhook configuration
5

Configure Shopify Webhooks

In Shopify admin, go to Settings > Notifications > Webhooks. Create webhooks for:
  • customers/create pointing to https://verilock.io/api/v1/integrations/shopify/webhook
  • orders/create pointing to the same URL
Use the webhook secret from step 4 for HMAC verification.
6

Test Connection

Click Test Connection in the Verilock dashboard. Create a test customer in Shopify to verify the end-to-end flow.

Verification Triggers

When a new customer registers, Verilock sends them an email with a verification link. The customer’s account is tagged as verilock:pending until verification completes.
SettingDescriptionDefault
verify_on_registerRequire verification for new accountsfalse
verification_profileProfile to usebasic
block_until_verifiedPrevent orders until verifiedfalse

Customer Metafields

Verilock stores verification results as Shopify customer metafields:
{
  "namespace": "verilock",
  "key": "verification_status",
  "value": "approved",
  "type": "single_line_text_field"
}
Metafield KeyTypeDescription
verilock.verification_statusStringapproved, declined, pending, expired
verilock.session_idStringVerilock session ID
verilock.verified_atStringISO 8601 timestamp
verilock.risk_scoreNumberRisk score (0-100)

Order Tags

Orders associated with verified customers are automatically tagged:
TagMeaning
verilock:verifiedCustomer was verified before or during checkout
verilock:pendingVerification is in progress
verilock:declinedCustomer verification was declined
Use Shopify Flow to automate actions based on these tags, such as auto-fulfilling verified orders or flagging declined orders for review.

Shopify Flow Integration

If you use Shopify Flow, Verilock triggers are available as custom events:
  1. Verilock - Customer Verified: Fires when a customer completes verification
  2. Verilock - Customer Declined: Fires when a customer fails verification
  3. Verilock - High Risk Detected: Fires when risk score exceeds your threshold
Shopify Flow is available on Shopify Plus or through the Shopify Flow app on Advanced plans.

Troubleshooting

Check that the customer has a valid email address. Verify the Shopify customers/create webhook is active and pointing to the correct URL.
Ensure the product tags or order threshold match your configuration. Review the Verilock integration logs in Dashboard > Logs > Integrations.
Verify the access token has write_customers scope. Check that the token has not been revoked in Shopify admin.