Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Vantiv eCommerce Java SDK

Warning:

All major version changes require recertification to the new version. Once certified for the use of a new version, Vantiv modifies your Merchant Profile, allowing you to submit transaction to the Production Environment using the new version. Updating your code without recertification and modification of your Merchant Profile will result in transaction declines. Please consult you Implementation Analyst for additional information about this process.

About Vantiv eCommerce

Vantiv eCommerce powers the payment processing engines for leading companies that sell directly to consumers through internet retail, direct response marketing (TV, radio and telephone), and online services. Vantiv eCommerce is the leading authority in card-not-present (CNP) commerce, transaction processing and merchant services.

About this SDK

The Vantiv eCommerce Java SDK is a Java implementation of the Vantiv eCommerce XML API. This SDK was created to make it as easy as possible to process your payments with Vantiv eCommerce. This SDK utilizes the HTTPS protocol to securely connect to Vantiv eCommerce. Using the SDK requires coordination with the Vantiv eCommerce team in order to be provided with credentials for accessing our systems.

Each Java SDK release supports all of the functionality present in the associated Vantiv eCommerce XML version (e.g., SDK v12.19.1 supports Vantiv eCommerce XML v12.0). Please see the online copy of our XSD for Vantiv eCommerce XML to get more details on what the Vantiv eCommerce payments engine supports.

This SDK was implemented to support the Java programming language and was created by Vantiv eCommerce. Its intended use is for online and batch transaction processing utilizing your account on the Vantiv eCommerce payments engine.

See LICENSE file for details on using this software.

Please contact Vantiv eCommerce to receive valid merchant credentials in order to run tests successfully or if you require assistance in any way. We are reachable at sdksupport@worldpay.com

Setup

  1. Add MavenCentral repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
    2. For Gradle, add mavenCentral() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>io.github.vantiv</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.19.1</version>
      </dependency>
    2. For Gradle:

       compile(group: 'io.github.vantiv', name: 'cnp-sdk-for-java', version: '12.19.1')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importio.github.vantiv.sdk.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Note (Setup for all older versions than 12.19.1)

  1. Add JCenter repository to your Maven or Gradle build:

    1. For Maven, please read instructions at: https://bintray.com/bintray/jcenter
    2. For Gradle, add jcenter() to your repositories { ... }
  2. Add the dependency

    1. For Maven:

       <dependency>
      <groupId>com.cnp</groupId>
      <artifactId>cnp-sdk-for-java</artifactId>
      <version>12.0.3</version>
      </dependency>
    2. For Gradle:

       compile(group: 'com.cnp', name: 'cnp-sdk-for-java', version: '12.0.3')
      
  3. Create your configuration file with one of the following

    • Run java -jar /path/to/cnp-sdk-for-java.jar and answer the questions, or
    • Add a file .cnp_SDK_config.properties to your home directory with the correct properties in it
  4. Use it:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleCnpTxn {
publicstaticvoidmain(String[] args) {
// Visa $10 SaleSalesale = newSale();
sale.setReportGroup("Planets");
sale.setOrderId("12344");
sale.setAmount(1000L);
sale.setOrderSource(OrderSourceType.ECOMMERCE);
CardTypecard = newCardType();
card.setType(MethodOfPaymentTypeEnum.VI);
card.setNumber("4100000000000002");
card.setExpDate("1210");
sale.setCard(card);
// Peform the transaction on the Vantiv eCommerce PlatformSaleResponseresponse = newCnpOnline().sale(sale);
// display resultSystem.out.println("Message: " + response.getMessage());
System.out.println("Vantiv eCommerce Transaction ID: " + response.getCnpTxnId());
}
}

Setting Up OLTP Encryption Functionality

To enable OLTP encryption functionality, follow these steps:

  1. Add the following properties to your configuration file (.cnp_SDK_config.properties):

    1. oltpEncryptionPayload (true/false)
    2. oltpEncryptionKeySequence (this is received in the response of encryptionKeyRequest)
    3. oltpEncryptionKeyPath (path where key is stored)
  2. Obtain Encryption Key:

    Send an encryptionKeyRequest to obtain the encryption key and key sequence.

  3. Key Setup:

    Save the encryptionkey in one file. Ensure the key setup is done with the values obtained key sequence and path of the encryptionkey file.

  4. Processing OLTP Transactions:

    Run any OLTP transaction. The transaction will be processed based on the value of oltpEncryptionPayload. If oltpEncryptionPayload is set to true, the transaction payload will be converted to an encrypted payload, and a normal cnpOnlineRequest will be formed. The request will be processed to give a plain text/normal response.

By following these steps, you can enable and configure OLTP encryption functionality in the cnp-sdk-for-java project.

  1. Below are samples for transactions.

Example for encryptionKeyRequest:

importcom.cnp.sdk.*;
importcom.cnp.sdk.generate.*;
publicclassSampleEncryptionKeyRequest {
publicstaticvoidmain(String[] args) {
EncryptionKeyRequestrequest = newEncryptionKeyRequest();
request.setEncryptionKeyRequest(EncryptionKeyRequestEnum.CURRENT);
// Peform the transaction on the Vantiv eCommerce PlatformEncryptionKeyResponseresponse = cnp.encryptionKeyRequest(request.getEncryptionKeyRequest());
// display resultSystem.out.println("Key Sequence: " + response.getEncryptionKeySequence());
System.out.println("Encryption Key : " + response.getEncryptionKey());
}
}

There is one example shown in Note section can be used to validate transaction processing after doing all setup .

More examples can be found here Java Gists

About

Java SDK to ease XML integrations with the Vantiv eCommerce platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages