Voyado adapter
Our integration with Voyado allows Walley to check if a user is a member of the loyalty program of the merchant. If the customer is not already a member of the loyalty program, Walley will ask the customer if they would like to enroll as part of the checkout journey. If so, Walley will automatically enroll the customer to the membership program after completing the purchase, all without leaving the checkout experience.
When the customer identifies in Walley Checkout, a request to Voyado will be made to check if the customer is already a member based on national registration number, email address or mobile phone number. If the customer is not already a member Walley Checkout will prompt to apply for membership.
If the customer changes the toggle to apply for membership, a walleyCheckoutCrmUpdated
JS event will be sent.
When this event is received you have to acquire checkout information to know the status of the membership.
If the customer chose to apply for membership Walley will automatically register the customer with Voyado:
{
"firstName": "First name",
"lastName": "Last name",
"street": "Address 1",
"zipCode": "12345",
"city": "City",
"email": "test@walleypay.se",
"mobilePhone": "+46701234567",
"countryCode": "SE",
"socialSecurityNumber": "510731-2323",
"preferences": {
"acceptsEmail": true,
"acceptsPostal": false,
"acceptsSms": false
}
}
Note that Walley Checkout will also provide Voyado with the following properties:
Property | Required | Explanation |
---|---|---|
Source | Yes | Always set to the string "Walley". |
StoreExternalId | No | Set to a value of your chosing to indicate which store in Voyado the customer registered in. Note that this store must be setup in Voyado and can be configured in our settings or as the externalStoreId parameter when initializing the checkout |
Consent | No | If a customer chooses to be a member then we can create a consent and send them to Voyado. Contact Walley Merchant Services to set this up. |
Acquiring loyalty membership information​
When acquiring checkout information after a customer is identified, the data.customer.loyaltyMembership
object contains information about the outcome of the membership registration.
Property | Type | Returned | Description |
---|---|---|---|
provider | string | Yes | Always voyado for a the Voyado adapter. |
success | bool | Yes | false if the registration of membership failed. |
isMember | string | Maybe | Indicates membership, possible values are: yes, no, new. |
id | string | Maybe | The Voyado contactId to identify the membership. |
memberNumber | string | Maybe | The member number of the customer. |
There will be four possible outcomes:
- The customer is already a member, so no registration was performed.
- The customer chose to apply for membership, and a membership was registered successfully.
- The customer chose not to apply for membership.
- The customer chose to apply for membership, but the registration failed due to technical reasons.
When the membership failed to register due to technical reasons, it is recommended to create the membership manually so that the customer does not lose their points, bonus levels or similar. To see why the registration of the membership failed, please see the developer logs in the Merchant hub
- 1. Customer is already a member
- 2. Customer was registered successfully
- 3. Customer chose not to apply for membership
- 4. Membership failed to register
{
"data": {
"customer": {
"loyaltyMembership": {
"provider" : "voyado",
"success": true,
"isMember":"yes",
"id": "9b43c86e-227b-4149-b0ee-de7f4846be26",
"memberNumber": "123456789"
}
}
}
}
{
"data": {
"customer": {
"loyaltyMembership": {
"provider" : "voyado",
"success": true,
"isMember":"new",
"id": "9b43c86e-227b-4149-b0ee-de7f4846be26",
"memberNumber": "123456789"
}
}
}
}
{
"data": {
"customer": {
"loyaltyMembership": {
"provider" : "voyado",
"success": true,
"isMember":"no"
}
}
}
}
{
"data": {
"customer": {
"loyaltyMembership": {
"provider" : "voyado",
"success": false
}
}
}
}