Describes how to support Apple Pay using E-Payment Integrator
Apple Pay is supported by several gateways in E-Payment Integrator.
For Authorize.Net and BlueSnap, simply set the ApplePayData configuration setting to the Base64 encoded Apple Pay data. For instance:
Authorize.Net
Icharge icharge = new Icharge();
icharge.Gateway = IchargeGateways.gwAuthorizeNet;
//Test URL
icharge.GatewayURL = "https://test.authorize.net/gateway/transact.dll";
icharge.TestMode = true;
//This corresponds to the x_login field and is your API Login ID
icharge.MerchantLogin = "YourLogin";
//This correspond to the x_tran_key field and is your Transaction Key value
icharge.MerchantPassword = "YourPassword";
//Base64 encoded Apple Pay data
icharge.Config("ApplePayData=<base64 encoded="" apple="" pay="" data="">");
icharge.Sale();
For First Data E4, set the FDMSWalletProviderId configuration setting to 4 and set the card number to the value provided by Apple Pay. Note that Apple Pay is only supported in version 22 or higher, so you will need to supply the version in the Gateway URL.
First Data E4
Icharge icharge = new Icharge();
icharge.Gateway = IchargeGateways.gwFirstDataE4;
icharge.GatewayURL = "https://api.demo.globalgatewaye4.firstdata.com/transaction/v22";
icharge.MerchantLogin = "XXXXXXXX";
icharge.MerchantPassword = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
icharge.Config("HashSecret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
icharge.Config("FDMSKeyID=XXXXXX");
icharge.Card.ExpMonth = 12;
icharge.Card.ExpYear = 22;
icharge.Card.Number = "373953192351004";
icharge.Customer.FullName = "John Smith";
icharge.Config("FDMSWalletProviderId=4");
icharge.TransactionAmount = "1.00";
icharge.Sale();
For Litle, set the PKPaymentToken configuration setting to the full PKPaymentToken JSON object provided by Apple Pay:
Litle
Icharge icharge = new Icharge();
icharge.Gateway = IchargeGateways.gwLitle;
icharge.GatewayURL = "https://www.testvantivcnp.com/sandbox/communicator/online";
icharge.MerchantLogin = "XXXXXX";
icharge.MerchantPassword = "XXXXXX";
icharge.Config("MerchantCode=XXXXXX");
icharge.TransactionAmount = "000"; // Used to determine the response code from the sandbox
icharge.TransactionDesc = "TestTrans";
icharge.InvoiceNumber = DateTime.Now.ToString("yyyyMMddHHmmss");
// Set PKPaymentToken - each "..." will be a Base64 encoded string
icharge.Config("PKPaymentToken={\"version\":\"EC_v1\",\"data\":\"...\",\"signature\":\"...\",\"header\":\"applicationData\":\"...\",\"transactionId\":\"...\",\"ephemeralPublicKey\":\"...\",\"publicKeyHash\":\"...\"}}");
icharge.Sale();