Skip to main content

Enroll User

Enroll a user into Visa's Offers Platform (VOP) via RM. The first card supplied with the user is automatically registered alongside the user record.

When to Use

Use this endpoint when:

  • Registering a new user for card-linked offers
  • Onboarding a cardholder into a cashback or rewards program

How to Use

Endpoint
POST/v3/vop/enroll-user

Step 1: Collect User and Card Details

Generate a unique userId (15-char random string), then collect the user's card PAN, card name, and the webhook notifyUrl for transaction events.

Step 2: Send the Enrollment Request

POST the payload to /v3/vop/enroll-user with signed authentication headers.

Step 3: Store the IDs

The response returns the RM-issued user.id and card.id. Use these for Enroll Card, Unenroll Card, or Unenroll User.


Request Parameters

userIdSTRINGrequired

Provide a random generated 15 length string

Example: "KCac44i8NmtnUBo"

cardPanSTRINGrequired

Card number of the user

Example: "4364484100392449"

nameSTRINGrequired

Name of the card

Example: "Ambank Visa Infinite"

notifyUrlSTRINGrequired

Notify Url

Example: "https://google.com"


Response Parameters

itemOBJECT

Enrollment record.

cardOBJECT

Card details

idSTRING

RM VOP Card ID

Example: "1699331101967521138"

userIdSTRING

RM VOP User ID

Example: "1699331101742889953"

nameSTRING

Name of the card

Example: "Ambank Visa Infinite"

panLastFourSTRING

Last four number of the card

Example: "2449"

typeSTRING

Type of card

Example: "CREDIT"

createdAtSTRING

Card Enrolled Time

Example: "2023-11-07T04:25:00Z"

updatedAtSTRING

Card Last Updated time

Example: "2023-11-07T04:25:00Z"

userOBJECT

User details

idSTRING

RM VOP User ID

Example: "1699331101742889953"

createdAtSTRING

User Enrolled Time

Example: "2023-11-07T04:25:00Z"

updatedAtSTRING

User Last Updated Time

Example: "2023-11-07T04:25:00Z"

codeSTRING

`"SUCCESS"` if enrollment succeeded. Otherwise returns an error code. See [Error Codes](../error-codes).

Example: "SUCCESS"