Card Issuing – Technical Information
Marqeta Integration Service Application
Availability
If the external integration service application was also included in the package when purchasing the source code of the main SDK Core platform application, it will be enabled as Gate Provider (as Marqeta Card Issue) in the Core platform configuration. The source code of a separate Marqeta Integration Service application will also be included in the package when transferring the code to the client.
Check property application-…..yaml -> …: -> service: -> enabled: ${…_SERVICE_ENABLED:true} to confirm, that the Marqeta Integration Service Application is available at your system configuration:
How to set up connectivity between SDK Core App and Marqeta App
The connectivity settings between the main SDK Core platform application and the Marqeta Integration Services application must be specified at the application-…..yaml
marqeta:
service:
enabled: ${MARQETA_SERVICE_ENABLED:true}
url: ${MARQETA_SERVICE_URL:http://127.0.0.1:8081/api/v1}
message: ‘The service is not available under the terms of the license agreement. For more information please contact your sales assistant’
Provider connectivity settings
For now, all settings to connect the provider system which is used by the Marqeta Integration Services must be specified in the Marqeta Service application configuration settings at the system boot.
Set up the credentials (which were received from the Marqeta provider) as api-keys at the application.yaml for the Marqeta Integration Services application:
marqeta-client:
api-keys:
applicationToken: ${MARQETA_APPLICATION_TOKEN:f562ce3d-764e-4fa4-b348-9fd681f055d0}
adminAccessToken: ${MARQETA_ADMIN_ACCESS_TOKEN:54ab76b2-6393-41d9-bfc1-5dfb430243b2}
baseURL: ${MARQETA_BASE_URL:https://sandbox-api.marqeta.com/v3}
Authorization
The provider uses basic authorization mechanisms for the Resl Client. For API client authorization provide the –user application_token:user_access_token in the request header.
Provider Main Entities
User
Corresponds with the “User” entity in the SDK system. Represents the information about the user, who uses the card.
Main fields request:
name | description |
first_name | |
last_name | |
address1 | cannot be a PO Box |
city | |
state | |
postal_code | |
country | |
birth_date | |
identifications | |
active | |
phone | |
Main fields response: the same as in the request + authentication array
Card Product
Corresponds with the “Card Product” entity in the SDK system. Represents the schema, on which the new card will be created. The user selects the product while the card-issuing process initiates.
For now the following products are available on the sandbox: virtual Visa Debit cards and virtual Master Card Debit. Card products must be created on the Marqeta’s side by the administrator via API as a precondition. The card product are also related to the pricing model (pricing plan for the customer, on which conditions he will use the card, etc.) and depends on the client`s Agreement with the Provider.
NOTE:
- Field active has no effect on the ability to create cards from this card product. Use the config.fulfillment.allow_card_creation field to allow/disallow card creation.
Card
Corresponds with the “Card“ entity in the SDK system. Represents the card and its attributes, that will be issued according to the selected card product.
Main fields request:
name | attribute | description |
activation_actions | ||
card_product_token | Required | unique card product ID |
metadata | ||
token | unique card ID | |
user_token |
Required |
Main fields response:
name | description |
user_token | |
expiration | |
cvv_number | |
card_product_token | unique card product ID |
bulk_issuance_token | |
created_time | |
instrument_type | PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN |
last_four | |
state | status of the card (ACTIVE, SUSPENDED, TERMINATED, UNSUPPORTED, UNACTIVATED, LIMITED) |
state_reason | |
token | unique card ID |
Entities relationships in the Marqeta and SDK system:
card has One-To-One relation to card-product (through card_product_token)
user has One-To-Many relation to card (through user_token)
Card Product config.fulfillment.allow_card_creation – boolean allow_card_creation=true/false
Statuses
Provider Entities Statuses:
Card state: ACTIVE, SUSPENDED, TERMINATED, UNSUPPORTED, UNACTIVATED, LIMITED
User state: UNVERIFIED, LIMITED, ACTIVE, SUSPENDED, CLOSED