El código se encuentra alojado en el Github y clúster de Genesys / Spin en ambientes de DEV + QA + Stage/Staging
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Mirror
Balance Mirror
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Account Mirror
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Card Mirror
Tecnología | Gradle |
---|---|
Pipeline | Spin |
Lenguaje | Java 8 |
Spring boot | 2.5 |
Interfaz | Rest |
Clúster | Spin |
Gateway
Fiserv Gateway
Tecnología | Gradle |
---|---|
Pipeline | Spin |
Lenguaje | Java 8 |
Spring boot | 2 |
Interfaz | Rest |
Clúster | Spin |
Account Gateway
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Customer Gateway
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Aggregation
Account Aggregation
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC / Rest |
Clúster | Genesys |
Customer Aggregation
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC / Rest |
Clúster | Genesys |
Card Aggregation
Tecnología | Gradle |
---|---|
Pipeline | Spin |
Lenguaje | Java 8 |
Spring boot | 2 |
Interfaz | Rest |
Clúster | Spin |
Librerías
Common API
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Core Chassis
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 2.7.12 |
Interfaz | gRPC |
Clúster | Genesys |
Data Structure for Mirror Balance
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
This document contains the Balance Collection (MongoDB) definition. We could see java objects and JSON schema for MongoDB.
Version Control
Version
Major Changes
Doc
1.0
Initial Data Structure
View file | ||
---|---|---|
|
1.1
Se quitan los campos que se definieron como no usables para la colección de
Balance
View file | ||
---|---|---|
|
1.2
Se actualizan los archivos de schema y model con los cambios más recientes realizados
View file | ||
---|---|---|
|
Sources
Fiserv- Endpoint List
/accounts/balance
/account/FL-balance
Account Balance Endpoint
Fiserv endpoint:
/accounts/balance
Class:
FiservRepository
Service:
getAccountBalance
Request DTO properties
Code Block | ||
---|---|---|
| ||
@Builder.Default
protected String organizationNumber = "950";
protected String accountNumber; |
Responses DTO
Code Block | ||
---|---|---|
| ||
public class AccountBalanceResponseDTO {
private String accountOrCardNumber;
private Double currentBalance;
private Double availableCreditLimit;
private Double frozenBalance;
} |
FL-Balance Endpoint
Fiserv ednpoint:
/account/FL-balance
Class:
FiservRepository
Service:
transferBalanceFL
Request DTO
Code Block | ||
---|---|---|
| ||
package com.spin.banking.common.fiserv.request;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.spin.banking.common.domain.FalconIdentifier;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TransactionDataFLDTO {
private Long transactionAmount;
private String actionCode;
private String authorizationCode;
private String effectiveDate;
private String description;
private String paidConcept;
private String memoPostedIndicator;
private String suppressMonetaryTransaction;
private String n1n2ByPass;
private FalconIdentifier identifier;
private String box;
private String crPlaza;
private String crStore;
private String keyTracking;
private String beneficiaryAccount;
private String senderAccount;
private String counterpartInstitution;
private String operatingInstitution;
private String frcUprkBeneficiary;
private String orderingFrcUprk;
private String device;
private String ip;
private Double latitude;
private Double longitude;
private String recipientName;
private String orderingName;
private String paymentSourceId;
}
|
Response DTO
Code Block | ||
---|---|---|
| ||
public class BalanceTransferResponseDTO {
private String historyDate;
private String historyTime;
private BalanceTransferDetailsResponseDTO transactionData;
} |
Target (MongoDB)
Collection Name: balances
Schema:
Code Block | ||
---|---|---|
| ||
db.createCollection("balances",{
validator: {
$jsonSchema: {
bsonType: "object",
description: "Balance Object Collection",
required: [],
properties: {
"_id": {
bsonType: "string",
description: "account Number must be a string and is required"
},
"availableCreditLimit": {
bsonType: "double",
description: "available credit limit must be a number and is required"
},
"currentBalance": {
bsonType: "double",
description: "current balance must be a number"
},
"frozenBalance": {
bsonType: "double",
description: ""
},
"createdAt": {
bsonType: "date",
description: "createdAt is auto generate field and bsonType must be ISODate"
},
"updatedAt": {
bsonType: "date",
description: "createdAt is auto generate field and bsonType must be ISODate"
}
}
}
}
});
|
Target (Java)
Code Block | ||
---|---|---|
| ||
package com.oxxo.fintech.balance.mirror.service.persistence.entities;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
@Getter
@Setter
@Builder
@Document(collection = "balances")
public class Balance {
@Id
private String accountNumber;
private Double availableCreditLimit;
private Double currentBalance;
private Double frozenBalance;
private Date createdAt;
private Date updatedAt;
} |
Data Structure for Account Mirror
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
This section presents the Fiserv endpoints of the Account domain and proposes the MongoDB data structure for Mirror Account based on the corresponding request/response.
Version control
Version
Major Changes
Doc
v1.0
Initial data structure
View file | ||
---|---|---|
|
v1.1
Deleted endpoints
Fields deleted for account details
View file | ||
---|---|---|
|
v1.2
Deleted endpoints
Document restructuring
New blocksBy field
View file | ||
---|---|---|
|
For more details on the changes made, please refer to the changelog file.
View file | ||
---|---|---|
|
Source
Fiserv - Account endpoint list
Account Details GET /account/details
Account Block Code POST /account/block-code
Target
Account Details
Source
Fiserv endpoint:
GET /account/details
Class:
FiservRepository
Service:
getAccountDetails
Response:
Code Block | ||
---|---|---|
| ||
public class AccountDetailsResponseDTO {
private AccountDataDTO accountData;
} |
Code Block | ||
---|---|---|
| ||
public class AccountDataDTO {
private String accountNumber;
private String customerNumber;
private String blockCode1;
private String blockCode1Date;
private String blockCode2;
private String blockCode2Date;
private String accountMakerDateOfBirth;
//this comes in pesos
private Double availableCredit;
//daily posted average balance
private Double userAmounts9;
//daily memo average balance
private Double userAmounts10;
//Total current memo balance
private Double userAmounts7;
public Double getAvailableCredit() {
return availableCredit * 100;
}
public Double getUserAmounts9() {
return userAmounts9 * 100;
}
public Double getUserAmounts7() {
return userAmounts7 * 100;
}
public Double getUserAmounts10() {
return userAmounts10 * 100;
}
} |
Request
Code Block | ||
---|---|---|
| ||
public class AccountDetailsRequestDTO {
private String organizationNumber;
private String accountNumber;
} |
Account Block Code
Source
Fiserv endpoint:
POST /account/block-code
Class:
FiservRepository
Service:
setAccountBlockCode
Response:
Code Block | ||
---|---|---|
| ||
public class AccountBlockUnblockResponseDTO {
private String functionCode;
private String accountNumber;
private String blockCode1Local;
private Integer localOrganization;
} |
Request
Code Block | ||
---|---|---|
| ||
public class AccountBlockUnblockRequestDTO extends AbstractAccountFiservBaseRequest {
private String blockCode;
private Integer blockCodeIndicator;
private Integer foreignUse;
private String functionCode;
} |
Code Block | ||
---|---|---|
| ||
public abstract class AbstractAccountFiservBaseRequest extends AbstractFiservBaseRequest {
protected String accountNumber;
} |
Code Block | ||
---|---|---|
| ||
public abstract class AbstractFiservBaseRequest {
@Builder.Default
protected String organizationNumber = "950";
} |
Target MongoDB Account Mirror
Collection name:
accountDetails
Schema:
Code Block language json db.createCollection("accountDetails", { validator: { $jsonSchema: { bsonType: "object", title: "Account Details Object Validation", required: ["accountNumber"], properties: { accountNumber: { bsonType: "string", description: "'accountNumber' must be a string and is required" }, customerNumber: { bsonType: "string", description: "'customerNumber' must be a string" }, blockCode1: { bsonType: "string", description: "'blockCode1' must be a string" }, blockCode1Date: { bsonType: "string", description: "'blockCode1Date' must be a string" }, blockCode2: { bsonType: "string", description: "'blockCode2' must be a string" }, blockCode2Date: { bsonType: "string", description: "'blockCode2Date' must be a string" }, blocksBy: { bsonType: "string", description: "'blocksBy' must be a string" } } } } });
Index
Code Block language json db.accountDetails.createIndex({accountNumber: 1});
Target Java Account Mirror
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document(collection = "accountDetails")
public class AccountDetail {
@Id
private String id;
@NotNull(message="account number is mandatory")
private String accountNumber;
private String customerNumber;
private String blockCode1;
private String blockCode1Date;
private String blockCode2;
private String blockCode2Date;
private String blocksBy;
} |
Data Structure for Card Mirror
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Fiserv - Card endpoint list:
Create a Card POST /cards/embosser [Mirror - Gateway]
Get card information POST /cards/embosser/details [Mirror - Gateway]
Link Card PATCH /cards/account [Gateway]
Get account by card number POST /cards/account [Mirror]
Card Activation PUT /cards/activation [Gateway]
Block Card PUT /cards/embosser/block [Mirror - Gateway]
Block/Unblock (pin) PUT /cards/pin/status [Equipo de Spin]
Update Card Pin PUT /cards/pin [Equipo de Spin]
Get Security Code Detail POST /cards/pin/security-codes [Equipo de Spin]
Invalid Attemps POST /cards/pin/invalid-attemps [Unavailable]
Get Credit Card Info POST /cards/embosser/card-pan [Unavailable]
Create a Card
Source
Fiserv endpoint:
/cards/embosser
Class:
FiservRepository
Service:
createCard
Request
Code Block | ||
---|---|---|
| ||
public class CardRequestDTO {
private String addressLine1;
private String addressLine2;
private AssignedSpendingLimitsDTO assignedSpendingLimits;
private int atmCashAmount;
private int atmCashNumber;
private int atmCashSingleTransactionLimit;
private String authorizationCriteriaTableNumber;
private String authorizationSpendingLimitTable;
private String blockCode;
private int branchNumber;
private int cardAction;
private String cardActionReasonCode;
private int cardDelayDays;
private String cardNumber;
private int cardSequence;
private String cardholderAffiliationGroupId;
private String cardholderFlag;
private String city;
private String currentCardActivation;
private String customerNumber;
private int deliveryOption;
private String deviceIndicator;
private String embossedName1;
private String embossedName2;
private String enrollmentStatusVBV;
private String expirationDate;
private int firstIssueBranch;
private int internetPurchaseAmount;
private int internetPurchaseNumber;
private int internetPurchaseSingleTransactionLimit;
private String languageCode;
private int maximumAuthorizationFrequency;
private String name1;
private int name1TypeIndicator;
private String name2;
private int name2TypeIndicator;
private String nextCardExpirationDate;
private int numberOfCardsRequested;
private int organizationNumber;
private int overTheCounterCashAmount;
private int overTheCounterCashNumber;
private int overTheCounterCashSingleTransactionLimit;
private int pinMailerDelayDays;
private int pinOffset;
private int pinSuppression;
private String plasticId;
private int posServiceCode;
private String postToAccount;
private int postalCode;
private int processType;
private int programId;
private int reissueDeliveryOption;
private String requestedCardType;
private int retailPurchaseAmt;
private int retailPurchaseNumber;
private int retailPurchaseSingleTransactionLimit;
private int securedCodeActivate;
private String stateOrProvince;
private String typeCardMailer;
private String typeOfCard;
private int user1;
private int user2;
private int user3;
private int user4;
private int user5;
private int user6;
private int user7;
private int user8;
private String userDate1;
private String userDate2;
private String vbvPassword;
private String visaMiniIndicator;
private String visaPlusIndicator;
} |
Response
Code Block | ||
---|---|---|
| ||
public class AddCardResponseDTO {
private String panToken;
} |
Create a Card
Source
Fiserv endpoint:
/cards/embosser/details
Class:
FiservRepository
Service:
getAccountByPanToken
Request
Code Block | ||
---|---|---|
| ||
public class AccountByPanTokenRequestDTO {
private String cardNumber;
private Integer cardSequence;
private Integer foreignUse;
private String organizationNumber;
} |
Response
Code Block | ||
---|---|---|
| ||
public class AccountByPanTokenResponseDTO {
private String postToAccount;
private String blockCode;
private String cardNumber;
private String currentCardActivation;
private String dateBlock;
} |
Link Card
Source
Fiserv endpoint:
/account/prepaid
Class:
FiservRepository
Service:
linkCardToAccount
Request
Code Block | ||
---|---|---|
| ||
public class CardToAccountLinkingRequestDTO {
private String cardNumber;
private Integer cardholderType;
private String customerOrAccountNumber;
} |
Response
Code Block | ||
---|---|---|
| ||
public class CardToAccountLinkingResponseDTO {
private String cardNumber;
private String customerOrAccountNumber;
} |
Card Activation
Source
Fiserv endpoint:
/cards/activation
Class:
FiservRepository
Service:
activateCard
Request
Code Block | ||
---|---|---|
| ||
public class CardActivationRequestDTO {
@NotNull(message = "userId is required")
private String userId;
@NotNull(message = "panToken is required")
@Size(min = 12, max = 19, message = "panToken length must be between 12 and 19")
private String panToken;
@NotNull(message = "cardNumber is required")
@Size(min = 12, max = 19, message = "cardNumber length must be between 12 and 19")
private String cardNumber;
private OxxoStoreDTO oxxoStoreDTO;
}
public class OxxoStoreDTO {
@NotBlank private String id;
@NotBlank private String place;
@NotBlank private String store;
private String storeName;
private String stateName;
private String oxxoStoreStateCode;
private String colony;
private String municipality;
private String city;
private Integer postalCode;
@NotNull
@Min(value = -90)
@Max(value = 90)
private Double latitud;
@NotNull
@Min(value = -180)
@Max(value = 180)
private Double longitud;
@NotNull
private Integer affiliationNumber;
} |
Response
Code Block | ||
---|---|---|
| ||
public class CardActivationResponseDTO {
private String cardNumber;
} |
Block Activation
Source
Fiserv endpoint:
/cards/embosser/block
Class:
FiservRepository
Service:
blockCard
Request
Code Block | ||
---|---|---|
| ||
public class CardBlockingRequestDTO {
@NotBlank(message = "userId is Required")
private String userId;
@NotNull(message = "blockingReason is required")
private BlockingReason blockingReason;
}
public enum BlockingReason {
FROZEN("A", true),
GUARDIAN("B"),
DECEASED("D"),
VOLUNTARY_CANCELLATION("C"),
LOST("L"),
STOLEN("S"),
DAMAGED("E"),
FRAUD("F", true),
MISHANDLING("V"),
ACCOUNT_WITHOUT_CARD("X"),
PREVENTIVE("Y");
private String fiservBlockCode;
private boolean unblockable;
BlockingReason(String fiservBlockCode) {
this(fiservBlockCode, false);
}
public static BlockingReason resolveFromFiservCode(String fiservCode){
return Arrays.stream(values()).filter(blockingReason -> blockingReason.fiservBlockCode.equals(fiservCode)).findAny().orElse(null);
}
} |
Response
Code Block | ||
---|---|---|
| ||
public class CardBlockingResponseDTO {
private String name;
} |
Block/Unblock
Source
Fiserv endpoint:
/cards/pin/status
Class:
FiservRepository
Service:
activateCard
Request
Code Block | ||
---|---|---|
| ||
public class FiservCardPinBlockUnblockRequestDTO {
private String cardNumber;
private Integer cardSequenceNumber;
private String channel;
private Integer organizationNumber;
private String serviceFunctionCode;
} |
Response
Code Block | ||
---|---|---|
| ||
public class FiservCardPinBlockUnblockResponseDTO {
private String cardNumber;
private Integer cardSequenceNumber;
} |
GET ACOUNT BY CARD NUMBER
Source
Fiserv endpoint:
/account/balance/details
Request
Code Block | ||
---|---|---|
| ||
public class AccountByCardNumberRequestDTO {
private String cardNumber;
} |
Response
Code Block | ||
---|---|---|
| ||
public class AccountByCardNumberResponseDTO {
protected String accountNumber;
} |
Update Card Pin
Source
Fiserv endpoint:
/cards/pin
Class:
FiservRepository
Service:
activateCard
Request
Code Block | ||
---|---|---|
| ||
public class FiservCardPinUpdateRequestDTO {
private String cardNumber;
private String channel;
private String keyAssociationNumber;
private String newPinBlock;
private Integer organizationNumber;
} |
Response
Code Block | ||
---|---|---|
| ||
public class FiservCardPinUpdateResponseDTO {
private String cardNumber;
} |
Get Security Code Detail
Source
Fiserv endpoint:
/cards/pin/security-codes
Class:
FiservRepository
Service:
activateCard
Request
Code Block | ||
---|---|---|
| ||
public class SecurityCodeDetailsRequestDTO extends AbstractFiservBaseRequest {
private String cardNumber;
private String channel;
private String keyAssociation;
} |
Response
Code Block | ||
---|---|---|
| ||
public class SecurityCodeDetailsResponseDTO {
private String pinEncrypt;
} |
Invalid Attemps
Source
Fiserv endpoint:
/cards/pin/invalid-attemps
Class:
FiservRepository
Service:
activateCard
Request
Code Block | ||
---|---|---|
| ||
public class PinInvalidAttemptsRequestDTO {
private String cardNumber;
private int cardSequenceNumber;
} |
Response
Code Block | ||
---|---|---|
| ||
public class PinInvalidAttemptsResponseDTO {
private PinInvalidAttemptsOutputAreaDTO outputArea;
}
public class PinInvalidAttemptsOutputAreaDTO {
private String cardNumber;
private int cardSequenceNumber;
private int cardInvalidPinTries;
private String cardInvalidPinTryDate;
private int maxNumberInvalidPinTries;
private String exceededInvalidPinTries;
private String blockedIndicator;
} |
Get Credit Card Info
Source
Fiserv endpoint:
/cards/embosser/card-pan
Class:
FiservRepository
Service:
activateCard
Request
Code Block | ||
---|---|---|
| ||
public class FiservCardRequestDTO extends AbstractFiservBaseRequest {
private Integer cardSequence;
private String functionType;
private String cardNumber;
public enum FunctionType {
CARD_NUMBER("C"),
PAN_TOKEN("P");
private String type;
FunctionType(String type) {
this.type = type;
}
public String getValue() {
return type;
}
}
} |
Response
Code Block | ||
---|---|---|
| ||
public class FiservCardResponseDTO {
private Integer organizationNumber;
private Integer logo;
private String cardNumber;
private String accountNumber;
private Integer cardSequence;
private String panToken;
} |
Target (MongoDB Schema)
Collection Name:
cards
Schema
Code Block | ||
---|---|---|
| ||
db.createCollection("cards",{
validator: {
$jsonSchema: {
bsonType: "object",
description: "Card object collection",
required: [],
properties: {
"addressLine1": {
bsonType: "string",
description: "addressLine1"
},
"addressLine2": {
bsonType: "string",
description: "addressLine2"
},
"atmCashAmount": {
bsonType: "int",
description: "atmCashAmount"
},
"atmCashNumber": {
bsonType: "int",
description: "atmCashNumber"
},
"atmCashSingleTransactionLimit": {
bsonType: "int",
description: "atmCashSingleTransactionLimit"
},
"authorizationCriteriaTableNumber": {
bsonType: "string",
description: "authorizationCriteriaTableNumber"
},
"authorizationSpendingLimitTable": {
bsonType: "string",
description: "authorizationSpendingLimitTable"
},
"blockCode": {
bsonType: "string",
description: "blockCode"
},
"branchNumber": {
bsonType: "int",
description: "branchNumber"
},
"cardAction": {
bsonType: "int",
description: "cardAction"
},
"cardActionReasonCode": {
bsonType: "string",
description: "cardActionReasonCode"
},
"cardDelayDays": {
bsonType: "int",
description: "cardDelayDays"
},
"cardNumber": {
bsonType: "string",
description: "cardNumber"
},
"cardSequence": {
bsonType: "int",
description: "cardSequence"
},
"cardholderAffiliationGroupId": {
bsonType: "string",
description: "cardholderAffiliationGroupId"
},
"cardholderFlag": {
bsonType: "string",
description: "cardholderFlag"
},
"city": {
bsonType: "string",
description: "city"
},
"currentCardActivation": {
bsonType: "string",
description: "currentCardActivation"
},
"customerNumber": {
bsonType: "string",
description: "customerNumber"
},
"deliveryOption": {
bsonType: "int",
description: "deliveryOption"
},
"deviceIndicator": {
bsonType: "string",
description: "deviceIndicator"
},
"embossedName1": {
bsonType: "string",
description: "embossedName1"
},
"embossedName2": {
bsonType: "string",
description: "embossedName2"
},
"enrollmentStatusVBV": {
bsonType: "string",
description: "enrollmentStatusVBV"
},
"expirationDate": {
bsonType: "string",
description: "expirationDate"
},
"firstIssueBranch": {
bsonType: "int",
description: "firstIssueBranch"
},
"internetPurchaseAmount": {
bsonType: "int",
description: "internetPurchaseAmount"
},
"internetPurchaseNumber": {
bsonType: "int",
description: "internetPurchaseNumber"
},
"internetPurchaseSingleTransactionLimit": {
bsonType: "int",
description: "internetPurchaseSingleTransactionLimit"
},
"languageCode": {
bsonType: "string",
description: "languageCode"
},
"maximumAuthorizationFrequency": {
bsonType: "int",
description: "maximumAuthorizationFrequency"
},
"name1": {
bsonType: "string",
description: "name1"
},
"name1TypeIndicator": {
bsonType: "int",
description: "name1TypeIndicator"
},
"name2": {
bsonType: "string",
description: "name2"
},
"name2TypeIndicator": {
bsonType: "int",
description: "name2TypeIndicator"
},
"nextCardExpirationDate": {
bsonType: "string",
description: "nextCardExpirationDate"
},
"numberOfCardsRequested": {
bsonType: "int",
description: "numberOfCardsRequested"
},
"organizationNumber": {
bsonType: "int",
description: "organizationNumber"
},
"overTheCounterCashAmount": {
bsonType: "int",
description: "overTheCounterCashAmount"
},
"overTheCounterCashNumber": {
bsonType: "int",
description: "overTheCounterCashNumber"
},
"overTheCounterCashSingleTransactionLimit": {
bsonType: "int",
description: "overTheCounterCashSingleTransactionLimit"
},
"pinMailerDelayDays": {
bsonType: "int",
description: "pinMailerDelayDays"
},
"pinOffset": {
bsonType: "int",
description: "pinOffset"
},
"pinSuppression": {
bsonType: "int",
description: "pinSuppression"
},
"plasticId": {
bsonType: "string",
description: "plasticId"
},
"posServiceCode": {
bsonType: "int",
description: "posServiceCode"
},
"postToAccount": {
bsonType: "string",
description: "postToAccount"
},
"postalCode": {
bsonType: "int",
description: "postalCode"
},
"processType": {
bsonType: "int",
description: "processType"
},
"programId": {
bsonType: "int",
description: "programId"
},
"reissueDeliveryOption": {
bsonType: "int",
description: "reissueDeliveryOption"
},
"requestedCardType": {
bsonType: "string",
description: "requestedCardType"
},
"retailPurchaseAmt": {
bsonType: "int",
description: "retailPurchaseAmt"
},
"retailPurchaseNumber": {
bsonType: "int",
description: "retailPurchaseNumber"
},
"retailPurchaseSingleTransactionLimit": {
bsonType: "int",
description: "retailPurchaseSingleTransactionLimit"
},
"securedCodeActivate": {
bsonType: "int",
description: "securedCodeActivate"
},
"stateOrProvince": {
bsonType: "string",
description: "stateOrProvince"
},
"typeCardMailer": {
bsonType: "string",
description: "typeCardMailer"
},
"typeOfCard": {
bsonType: "string",
description: "typeOfCard"
},
"user1": {
bsonType: "int",
description: "user1"
},
"user2": {
bsonType: "int",
description: "user2"
},
"user3": {
bsonType: "int",
description: "user3"
},
"user4": {
bsonType: "int",
description: "user4"
},
"user5": {
bsonType: "int",
description: "user5"
},
"user6": {
bsonType: "int",
description: "user6"
},
"user7": {
bsonType: "int",
description: "user7"
},
"user8": {
bsonType: "int",
description: "user8"
},
"userDate1": {
bsonType: "string",
description: "userDate1"
},
"userDate2": {
bsonType: "string",
description: "userDate2"
},
"vbvPassword": {
bsonType: "string",
description: "vbvPassword"
},
"visaMiniIndicator": {
bsonType: "string",
description: "visaMiniIndicator"
},
"visaPlusIndicator": {
bsonType: "string",
description: "visaPlusIndicator"
}, }
}
} |