Marqeta + Kard Integration

Purpose

This document outlines the steps required for an Issuer to complete an integration with the Marqeta + Kard partnership. 

Marqeta APIs and webhook events are referenced in this document. This information can be found in the Marqeta Docs section.

Partnership Overview

Kard has completed an integration to Marqeta’s APIs for the purpose of significantly reducing the integration effort required by an Issuer to add Kard’s services to their offering. Via the integration, Kard and Marqeta take ownership of tracking and communicating cardholder, card, and transaction data, so this data is not required to be passed from the Issuer to Kard.

Integration

This integration works with the existing Kard implementation to reduce the workload on the Issuer. This does not cover all integration pieces required to run a rewards program powered by Kard. Specifically, this integration does not cover the merchant offers that will be displayed in your rewards program. Please review the Kard documentation for a full sense of an integration and what is required.

Prerequisites

To utilize this integration, you must:

  1. Utilize Marqeta as your card processing solution or plan to.
  2. Design the UX of the Rewards program, including integration with the merchant offers from Kard’s API and displaying in your application.

Integration Steps

  1. Issuer provides permission to Kard to utilize the Issuer’s Marqeta sandbox environment credentials.
  2. Kard configures the Issuer’s Marqeta sandbox environment to receive events from Marqeta’s webhook.

    a.
     Note Marqeta currently allows a maximum of 5 active webhooks per Issuer environment. The Issuer must ensure there is at least 1 webhook available for Kard to utilize.
  3. Kard works with the Issuer to validate that all transaction data received from Marqeta is identical to what the Issuer receives.
  4. Kard works with the Issuer to validate that all card and cardholder data received from Marqeta is identical to what the Issuer sends Marqeta.
  5. Issuer integrates with Kard’s Earned Reward Webhook and daily reconciliation file to accurately notify cardholders when they redeem a reward.
  6. Issuer integrates with the Rewards endpoints to display the merchant offers available to their cardholders.
  7. Issuer works with Kard to validate that the full solution works in the sandbox environment.
  8. Issuer provides permission to Kard to utilize the Issuer’s Marqeta production environment credentials.
  9. Kard stands up the same integration for Production as above and validates with the Issuer, finalizing the implementation.

Data Mapping

The below tables outline the data that Kard uses from Marqeta to enable the Issuer’s rewards program. Not all fields returned in Kard’s API will be sourced from Marqeta and they are not shown in the tables.

User Events

Kard receives all Marqeta Account Holder transition event types.

Marqeta Field
Marqeta Users, for reference
Kard Field
User Endpoints, for reference
user_token referringPartnerUserId
email email
first_name firstName
last_name lastName
postal_code zipCode
Card Events

Kard currently receives the following card transition event types from Marqeta: 

  1. state.activated
  2. state.reinstated
  3. state.suspended
  4. state.terminated
Marqeta Field
Marqeta Cards, for reference
Kard Field
Add Card, for reference
user_token referringPartnerUserId
last_four card.last4
pan card.bin
last_name lastName
postal_code zipCode
Transaction Events

Kard currently receives the following transaction event types from Marqeta: 

  1. authorization
  2. authorization.clearing
  3. pindebit

Note: The data mapping for the transaction events below also apply to Kard’s Earned Rewards Webhook.

Marqeta Field
Marqeta Transactions, for reference
Kard Field
Incoming Transaction, for reference
token transactionId
user_token referringPartnerUserId
user_transaction_time transactionDate, authorizationDate
Note: Depending on status of transaction
settlement_date settledDate
amount amount
state status
preceding_related_transaction_token transactionId
Note: valid for transactions after the first transaction event
card_acceptor.mcc mcc
card_acceptor.name merchantName
card_acceptor.street_address merchantAddrStreet
card_acceptor.city merchantAddrCity
card_acceptor.state merchantAddrState
card_acceptor.zip merchantAddrZipcode
card.last_four cardLastFour
card.pan cardBIN
Note: Kard receives a masked PAN, only showing BIN and Last 4.
currency_code currency
card_acceptor.mid merchantId
card_acceptor.name description
network_reference_id transactionId
Note: This is relevant for specific integrations. Consult your Kard Account Manager with questions.