Split Card Elements
Separate elements for card number, expiry, and CVC - mount each one wherever you want. Gives you complete control over the card form layout and styling.
How it works
1 Create session (server)
2 Initialise SDK (client)
3 Create & mount each field
4 Submit payment
cardNumber, cardExpiry, cardCvc - each individually mountable Full layout control between fields
teya.elements.submitPayment() to process Independent validation per field
Automatic 3DS challenge handling
Works with HTML/JS and React
Before getting started
1. Get your credentials
1 Request a development store with an ecommerce subscription from your Teya contact
2 Log in to the Staging Business Portal with your Teya ID
3 Select your store and go to Integrations
4 Create ecommerce API credentials and configure webhook URLs
You'll receive a Client ID and Client Secret for OAuth authentication
Use
client_credentials grant to obtain access tokens Each store has its own set of credentials
Staging vs Production
Use Staging for development and testing. When ready to go live, repeat the credential setup in Production. Keep separate credentials and token caches for each environment.
2. API URLs
| Service | Staging | Production |
|---|---|---|
| Online Payments API | https://api.teya.xyz | https://api.teya.com |
| OAuth | https://id.teya.xyz/oauth/v2/oauth-token | https://id.teya.com/oauth/v2/oauth-token |
| Business Portal | https://business.teya.xyz | https://business.teya.com |
3. Required scopes
Request these scopes when obtaining your access token:
| Scope | Description |
|---|---|
transactions/online/create | Process an online transaction |
transactions/online/id/get | Get online transaction details |
checkout/sessions/create | Create a session for the SDK |
Integrating on behalf of the merchants you serve?
Partners and platforms get credentials through the merchant registration flow instead. See Take payments online for partners.
Install the SDK
npm install @teyaproduct/teya-blocks-js
For React applications:
npm install @teyaproduct/teya-blocks-js @teyaproduct/teya-blocks-react
See SDK Initialization for initTeyaBlocks() options, including developmentMode for staging.
Related
- Customize - Themes, CSS variables, and field options
- Card Element - Single unified card input
- Apple Pay - Native Apple Pay button
- Webhooks - Receive payment confirmation notifications
- Testing - Test cards and integration checklist
Try it - Split Card Elements
Follow the interactive quickstart below to build a working integration with the Split Card Elements.