Create a Config object and set API configuration parameters

Note that ipcApiUrl is different for sandbox and production environment

You can set RSA keys for request signatures by setting key content using loadPrivateKeyFromString and loadPublicKeyFromString or by setting file path using loadPrivateKeyFromFile and loadPublicKeyFromFile

For more information please refer to myPOS Checkout API Documentation

import java.net.MalformedURLException; 
import java.net.URL; 

import com.mypos.myposcheckout.ipc.Config; 
import com.mypos.myposcheckout.ipc.IPCException; 

// ... 

Config cnf = new Config(); 

URL ipcApiUrl = null; 
try { 
    ipcApiUrl = new URL("https://mypos.com/vmp/checkout-test/"); 
} catch (MalformedURLException ex) { 
    // Handle the malformed URL exception 
} 

cnf.setIpcUrl(ipcApiUrl); 
cnf.setLang("en"); 
cnf.loadPrivateKeyFromFile("path_to_directory/storePrivateKey.pem"); // Replace `path_to_directory` with the actual file path 
cnf.loadPublicKeyFromFile("path_to_directory/apiPublicKey.pem"); // Replace `path_to_directory` with the actual file path 
cnf.setKeyIndex(1); 
cnf.setSid("000000000000010"); 
cnf.setVersion("1.4"); 
cnf.setWalletNumber("61938166610");


Create MandateManagement object with created config

import com.mypos.myposcheckout.ipc.request.MandateManagement; 

// ... 

MandateManagement mandate = new MandateManagement(cnf);


Set MandateManagement params

import com.mypos.myposcheckout.ipc.enumerable.CommunicationFormat; 
import com.mypos.myposcheckout.ipc.enumerable.MandateAction; 

// ... 

mandate.setMandateReference("126ca831-93d2-4dfc-ab1f-0cce1d0abe9e"); 
mandate.setCustomerWalletNumber("61938166612"); 
mandate.setAction(MandateAction.REGISTER_MANDATE); 
mandate.setMandateText("test mandate text"); 
mandate.setOutputFormat(CommunicationFormat.XML);


Process request

import com.mypos.myposcheckout.ipc.IPCException; 
import com.mypos.myposcheckout.ipc.enumerable.StatusCode; 
import com.mypos.myposcheckout.ipc.response.BasicResponse; 

// ... 

BasicResponse ipcResponse = mandate.process(); 
ipcResponse.processApiResponse(); 
if (ipcResponse.getStatusCode() == StatusCode.SUCCESS) { 
    // Success 
}