
com.wallee.sdk.mdes.model.TransactEncryptedData Maven / Gradle / Ivy
/*
* MDES for Merchants
* The MDES APIs are designed as RPC style stateless web services where each API endpoint represents an operation to be performed. All request and response payloads are sent in the JSON (JavaScript Object Notation) data-interchange format. Each endpoint in the API specifies the HTTP Method used to access it. All strings in request and response objects are to be UTF-8 encoded. Each API URI includes the major and minor version of API that it conforms to. This will allow multiple concurrent versions of the API to be deployed simultaneously.
__Authentication__ Mastercard uses OAuth 1.0a with body hash extension for authenticating the API clients. This requires every request that you send to Mastercard to be signed with an RSA private key. A private-public RSA key pair must be generated consisting of:
1 . A private key for the OAuth signature for API requests. It is recommended to keep the private key in a password-protected or hardware keystore.
2. A public key is shared with Mastercard during the project setup process through either a certificate signing request (CSR) or the API Key Generator. Mastercard will use the public key to verify the OAuth signature that is provided on every API call.
An OAUTH1.0a signer library is available on [GitHub](https://github.com/Mastercard/oauth1-signer-java)
__Encryption__
All communications between Issuer web service and the Mastercard gateway is encrypted using TLS.
__Additional Encryption of Sensitive Data__ In addition to the OAuth authentication, when using MDES Digital Enablement Service, any PCI sensitive and all account holder Personally Identifiable Information (PII) data must be encrypted. This requirement applies to the API fields containing encryptedData. Sensitive data is encrypted using a symmetric session (one-time-use) key. The symmetric session key is then wrapped with an RSA Public Key supplied by Mastercard during API setup phase (the Customer Encryption Key).
Java Client Encryption Library available on [GitHub](https://github.com/Mastercard/client-encryption-java)
*
* OpenAPI spec version: 1.2.10
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package com.wallee.sdk.mdes.model;
import com.google.gson.annotations.SerializedName;
import java.util.Objects;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* TransactEncryptedData
*/
public class TransactEncryptedData {
@SerializedName("accountNumber")
private String accountNumber = null;
@SerializedName("applicationExpiryDate")
private String applicationExpiryDate = null;
@SerializedName("panSequenceNumber")
private String panSequenceNumber = null;
@SerializedName("track2Equivalent")
private String track2Equivalent = null;
@SerializedName("de48se43Data")
private String de48se43Data = null;
public TransactEncryptedData accountNumber(String accountNumber) {
this.accountNumber = accountNumber;
return this;
}
/**
* The Primary Account Number for the transaction ? this is the Token PAN. <br>__Min Length: 9__ <br>__Max Length: 19__
* @return accountNumber
**/
public String getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
public TransactEncryptedData applicationExpiryDate(String applicationExpiryDate) {
this.applicationExpiryDate = applicationExpiryDate;
return this;
}
/**
* Application expiry date for the Token. Expressed in YYMMDD format. <br> __Length: 6__
* @return applicationExpiryDate
**/
public String getApplicationExpiryDate() {
return applicationExpiryDate;
}
public void setApplicationExpiryDate(String applicationExpiryDate) {
this.applicationExpiryDate = applicationExpiryDate;
}
public TransactEncryptedData panSequenceNumber(String panSequenceNumber) {
this.panSequenceNumber = panSequenceNumber;
return this;
}
/**
* Application PAN sequence number for the Token <br> __Length: 2__
* @return panSequenceNumber
**/
public String getPanSequenceNumber() {
return panSequenceNumber;
}
public void setPanSequenceNumber(String panSequenceNumber) {
this.panSequenceNumber = panSequenceNumber;
}
public TransactEncryptedData track2Equivalent(String track2Equivalent) {
this.track2Equivalent = track2Equivalent;
return this;
}
/**
* Track 2 equivalent data for the Token. Expressed according to ISO/IEC 7813, excluding start sentinel, end sentinel, and Longitudinal Redundancy Check (LRC), using hex nibble 'D' as field separator, and padded to whole bytes using one hex nibble 'F' as needed. <br> __Max Length: 38__
* @return track2Equivalent
**/
public String getTrack2Equivalent() {
return track2Equivalent;
}
public void setTrack2Equivalent(String track2Equivalent) {
this.track2Equivalent = track2Equivalent;
}
public TransactEncryptedData de48se43Data(String de48se43Data) {
this.de48se43Data = de48se43Data;
return this;
}
/**
* Data for DE 48 Subelement 43 containing the cryptogram.<br> __Max Length: 32__
* @return de48se43Data
**/
public String getDe48se43Data() {
return de48se43Data;
}
public void setDe48se43Data(String de48se43Data) {
this.de48se43Data = de48se43Data;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
TransactEncryptedData transactEncryptedData = (TransactEncryptedData) o;
return Objects.equals(this.accountNumber, transactEncryptedData.accountNumber) &&
Objects.equals(this.applicationExpiryDate, transactEncryptedData.applicationExpiryDate) &&
Objects.equals(this.panSequenceNumber, transactEncryptedData.panSequenceNumber) &&
Objects.equals(this.track2Equivalent, transactEncryptedData.track2Equivalent) &&
Objects.equals(this.de48se43Data, transactEncryptedData.de48se43Data);
}
@Override
public int hashCode() {
return Objects.hash(accountNumber, applicationExpiryDate, panSequenceNumber, track2Equivalent, de48se43Data);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class TransactEncryptedData {\n");
sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n");
sb.append(" applicationExpiryDate: ").append(toIndentedString(applicationExpiryDate)).append("\n");
sb.append(" panSequenceNumber: ").append(toIndentedString(panSequenceNumber)).append("\n");
sb.append(" track2Equivalent: ").append(toIndentedString(track2Equivalent)).append("\n");
sb.append(" de48se43Data: ").append(toIndentedString(de48se43Data)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy