<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to set customerProfileId in transaction request obj of GetHostedPaymentPageRequest  in nodejs  ? in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/How-to-set-customerProfileId-in-transaction-request-obj-of/m-p/80537#M50765</link>
    <description>&lt;P&gt;I am trying to implement accept.js in react node.js&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to send customerProfileId in node with the request as shown in &lt;A href="https://developer.authorize.net/api/reference/index.html#accept-suite-get-an-accept-payment-page" target="_blank" rel="noopener"&gt;this demo API reference &amp;nbsp;JSON request&lt;/A&gt;&lt;/P&gt;&lt;P&gt;but am not able to understand how can I do that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried with the below code to send customerProfileId&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;const fetchFormToken = (amount) =&amp;gt; {
  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) =&amp;gt; {
    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');
      }
    });
  });
};&lt;/PRE&gt;&lt;P&gt;Result of TransactionRequestType object&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;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
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 23 Dec 2021 11:40:16 GMT</pubDate>
    <dc:creator>ShreeHariji</dc:creator>
    <dc:date>2021-12-23T11:40:16Z</dc:date>
    <item>
      <title>How to set customerProfileId in transaction request obj of GetHostedPaymentPageRequest  in nodejs  ?</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/How-to-set-customerProfileId-in-transaction-request-obj-of/m-p/80537#M50765</link>
      <description>&lt;P&gt;I am trying to implement accept.js in react node.js&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to send customerProfileId in node with the request as shown in &lt;A href="https://developer.authorize.net/api/reference/index.html#accept-suite-get-an-accept-payment-page" target="_blank" rel="noopener"&gt;this demo API reference &amp;nbsp;JSON request&lt;/A&gt;&lt;/P&gt;&lt;P&gt;but am not able to understand how can I do that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried with the below code to send customerProfileId&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;const fetchFormToken = (amount) =&amp;gt; {
  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) =&amp;gt; {
    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');
      }
    });
  });
};&lt;/PRE&gt;&lt;P&gt;Result of TransactionRequestType object&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;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
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 11:40:16 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/How-to-set-customerProfileId-in-transaction-request-obj-of/m-p/80537#M50765</guid>
      <dc:creator>ShreeHariji</dc:creator>
      <dc:date>2021-12-23T11:40:16Z</dc:date>
    </item>
  </channel>
</rss>

