Getting Started
Step 1: Obtain your prerequisite data setup
Setup authentication method
StraitsX will setup your account and share the authentication method with you
More details for how the authentication method works, please refer to here
Setup issuer group
StraitsX will setup the dedicated issuer group, issuer plan, and the card product for you.
Please contact the representative in charge of the integration process.
The
opaque_idfor the issuer plan will be the identifier in the path parameter for all your requests within the issuer plan.The
opaque_idfor the card product will be the identifier when you create a card, and it'll determine which type of card to be created.
Step 2: User creation
Create a user
Get the issuing_plan_opaque_id, use it as path parameter.
The JSON below is an example for the fields to create a user, check the api reference create user for more information
{
"customer_name": "John Doe",
"kyc_full_name": "John H. Doe",
"date_of_birth": "1985/01/01",
"nationality": "SG"
}The
opaque_idfor the user in the response will be the identifier in the path parameter for the requests related to the user.
Step 3: Card creation
Create a card for the user
Get the issuing_plan_opaque_id and customer_opaque_id, use them as the path parameter.
The card type created depends on the card product linked to your issuer plan.
The JSON below is an example for the fields to create a card, check the api reference create card for more information
{
"card_product_opaque_id": "01FH9ZVANRDJ8JNXCJX38MNDZC",
"cardholder_name": "John Doe",
"cardholder_first_name": "Doe",
"cardholder_surname": "John",
"contact_number": "+6282210490777",
"funding_source": "remote-host",
"address": {
"country": "ID",
"region": "Jakarta",
"city": "Jakarta",
"street": "Sudirman",
"house": "1",
"postal_code": "12190"
}
}The
opaque_idfor the card in the response will be the identifier in the path parameter for the request related to the card.The
opaque_idfor the card number in the response will be the identifier in the path parameter for the request related to the card number.
Activate the card
The "Create Now, Print Later" feature supports our goal of initially providing a Digital Card, offering flexibility in physical card printing.
If the "Create Now, Print Later" feature is enabled:
- Currently, only StraitsX can toggle this feature.
- The card will initially exist as a digital card until you Request Card for Printing
- The card can be activated approximately one hour after creation or once your system receives our
card_activation_readywebhook.If the "Create Now, Print Later" feature is disabled:
- The card will be printed no later than one week after it has been created.
- Activation of the card is possible starting one day after its creation.
Get the issuing_plan_opaque_id , customer_opaque_id, and contract_opaque_id, use them as the path parameter.
The JSON below is an example for the fields to activate a card, check the api reference activate card for more information
{
"truncated_card_number": "4665********7274",
"expiry_date": "11/25"
}Step 4: Highly recommended APIs
Enroll to 3DS
Card needs to be enrolled to 3DS if you wish to make most e-commerce payment
Get the issuing_plan_opaque_id , customer_opaque_id, contract_opaque_id, and card_number_opaque_id, use them as the path parameter.
The JSON below is an example for the fields to enroll the card to 3DS, check the api reference enroll 3ds for more information
{
"authentication_method": "SMS_OTP",
"destination": "+62123456789"
}Set up Card PIN
Get the issuing_plan_opaque_id , customer_opaque_id, and contract_opaque_id, use them as the path parameter.
Check the api reference pin setup iframe for more information
Step 5: APIs at any certain point after card issued
Change Card Status
Get the issuing_plan_opaque_id , customer_opaque_id, and contract_opaque_id, use them as the path parameter.
The JSON below is an example for the fields to update the status for the card, check the api reference update card status for more information
{
"status": "LOST",
"reason": "User reported card as lost"
}Close Card
The card will be permanently blocked, cannot be reverted
Get the issuing_plan_opaque_id , customer_opaque_id, and contract_opaque_id, use them as the path parameter.
The JSON below is an example for the fields to close the card, check the api reference close card for more information
{
"reason": "User requested for card deactivation"
}Set Card Spend Limit
Get the issuing_plan_opaque_id , customer_opaque_id, and contract_opaque_id, use them as the path parameter.
The JSON below is an example for the fields to set spend limit for the card, check the api reference create spend limit for more information
{
"amount_limit": 100,
"currency_code": "SGD",
"velocity_window": "DAY"
}Update Card Configuration
Get the issuing_plan_opaque_id , customer_opaque_id, and contract_opaque_id, use them as the path parameter.
The JSON below is an example for the fields to update configuration for the card, check the api reference update card configuration for more information
{
"card_present_transaction_enabled": true
}Next Steps: Transaction testing
Create your remote host authorization & webhook notification endpoint with the corresponding api key & signing secret to share with StraitsX.
Remote host authorization is utilized as the logic to approve or reject the transaction. Check the api reference remote host authorization for more information.
Webhook notification is utilized to inform about actions that have been made or the information to pass to your user. Check the api reference webhook notification for more information.
After the endpoints shared with StraitsX, you can test the various transactions in sandbox environment. Please come up with a list of available transactions you want to support and share with StraitsX. Check sample transaction test case for more information.
When all integration and testing in sandbox works properly, then you can start issuing pilot card and test in production.
Ready to test transactions for a card
If enabled, these two webhooks will run hourly. Example: Card created at 1:35 PM SGT, the webhook is expected to be sent around 2:00 PM SGT
card_activation_ready- Card is not immediately activatable due to background jobs that are scheduled
- Once you receive this webhook, then you are able to call the card activate endpoint
iframe_ready- CVV is not immediately available if the card is physical
- Once you receive this webhook, you are able to view the full PAN as well as expiry date and CVV
Updated 6 months ago
