I am trying to implement accept.js in react node.js
I want to send customerProfileId in node with the request as shown in this demo API reference JSON request
but am not able to understand how can I do that.
I have tried with the below code to send customerProfileId
const fetchFormToken = (amount) => {
const merchantAuthenticationType = new ApiContracts.MerchantAuthenticationType();
merchantAuthenticationType.setName("************");
merchantAuthenticationType.setTransactionKey("**************");
const transactionRequestType = new ApiContracts.TransactionRequestType();
transactionRequestType.setTransactionType(
ApiContracts.TransactionTypeEnum.AUTHCAPTURETRANSACTION
);
var customerProfileIdType = new ApiContracts.CustomerProfileIdType();
customerProfileIdType.setCustomerProfileId('***********');
console.log(customerProfileIdType);
transactionRequestType.setAmount(amount);
transactionRequestType.setCustomer('*************');
transactionRequestType.profile(customerProfileIdType)
console.log(transactionRequestType)
const setting1 = new ApiContracts.SettingType();
setting1.setSettingName('hostedPaymentButtonOptions');
setting1.setSettingValue('{"text": "Pay"}');
const setting2 = new ApiContracts.SettingType();
setting2.setSettingName('hostedPaymentOrderOptions');
setting2.setSettingValue('{"show": false}');
const setting3 = new ApiContracts.SettingType();
setting3.setSettingName('hostedPaymentIFrameCommunicatorUrl');
setting3.setSettingValue(`{"url": "https://localhost:3000/iFrameCommunicator.html"}`);
const setting4 = new ApiContracts.SettingType();
setting4.setSettingName('hostedPaymentReturnOptions');
setting4.setSettingValue(
'{"showReceipt": true, "url": "https://localhost:3000?receipt=true", "urlText": "Continue", "cancelUrl": "https://localhost:3000?cancel=true", "cancelUrlText": "Cancel"}'
);
// var setting5 = new ApiContracts.SettingType();
// setting5.setSettingName('hostedPaymentPaymentOptions');
// setting5.setSettingValue(`{"cardCodeRequired": true, "showCreditCard": true}`);
const settingList = [];
settingList.push(setting1);
settingList.push(setting2);
settingList.push(setting3);
settingList.push(setting4);
// settingList.push(setting5);
const alist = new ApiContracts.ArrayOfSetting();
alist.setSetting(settingList);
const getRequest = new ApiContracts.GetHostedPaymentPageRequest();
getRequest.setMerchantAuthentication(merchantAuthenticationType);
getRequest.setTransactionRequest(transactionRequestType);
getRequest.setHostedPaymentSettings(alist);
const ctrl = new ApiControllers.GetHostedPaymentPageController(
getRequest.getJSON()
);
return new Promise((resolve, reject) => {
ctrl.execute(function () {
const apiResponse = ctrl.getResponse();
const response = new ApiContracts.GetHostedPaymentPageResponse(
apiResponse
);
if (response != null) {
if (
response.getMessages().getResultCode() ===
ApiContracts.MessageTypeEnum.OK
) {
resolve(response.getToken());
} else {
//console.log('Result Code: ' + response.getMessages().getResultCode());
console.log(
'Error Code: ' + response.getMessages().getMessage()[0].getCode()
);
console.log(
'Error message: ' + response.getMessages().getMessage()[0].getText()
);
reject(response.getMessages().getMessage()[0].getText());
}
} else {
reject('Null response received');
}
});
});
};Result of TransactionRequestType object
TransactionRequestType {
transactionType: 'authCaptureTransaction',
amount: 50,
currencyCode: null,
payment: null,
profile: CustomerProfileIdType {
customerProfileId: '502904307',
customerPaymentProfileId: null,
customerAddressId: null
},
solution: null,
callId: null,
terminalNumber: null,
authCode: null,
refTransId: null,
splitTenderId: null,
order: null,
lineItems: null,
tax: null,
duty: null,
shipping: null,
taxExempt: null,
poNumber: null,
customer: '903253984',
billTo: null,
shipTo: null,
customerIP: null,
cardholderAuthentication: null,
retail: null,
employeeId: null,
transactionSettings: null,
userFields: null,
surcharge: null,
merchantDescriptor: null,
subMerchant: null,
tip: null,
processingOptions: null,
subsequentAuthInformation: null,
otherTax: null,
shipFrom: null,
authorizationIndicatorType: null
}
12-23-2021 03:35 AM - edited 12-23-2021 03:40 AM