<?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 Re: A message element required as defined in Table A.1 is missing from the message. deviceChannel in cybersource APIs</title>
    <link>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/89086#M1469</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/66958"&gt;@etherofgodd&lt;/a&gt;&amp;nbsp;, thanks for the reply. I can’t seem to find the mentioned ID. Where can I get this method?&amp;nbsp; I am using Riskv1&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;authenticationSetupsPostResponse.getConsumerAuthenticationInformation().getReferenceId()&lt;/PRE&gt;&lt;P&gt;And this method&amp;nbsp; setReferenceID, is not found on consumerAuthenticationInformation&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;consumerAuthenticationInformation.setReferenceId(referenceId);&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Here is my code from Cybersource REST documentation&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;const cybersourceRestApi = require('cybersource-rest-client');
const configuration = require('../config/Configuration');
const generateRandomString = require('../utils/index');

class PayerAuthenticationController {
  constructor() {
    this.configObject = new configuration();
    this.apiClient = new cybersourceRestApi.ApiClient();
    this.payerAuthenticationApiInstance = new cybersourceRestApi.PayerAuthenticationApi(this.configObject, this.apiClient);
  }

  enrollWithPendingAuthentication(payload) {
    return new Promise((resolve, reject) =&amp;gt; {
      try {
        const requestObj = new cybersourceRestApi.CheckPayerAuthEnrollmentRequest();
        const md_data = generateRandomString(50);
        const clientReferenceInformation = new cybersourceRestApi.Riskv1decisionsClientReferenceInformation();
        clientReferenceInformation.code = generateRandomString(20);
        requestObj.clientReferenceInformation = clientReferenceInformation;

        const orderInformation = new cybersourceRestApi.Riskv1authenticationsOrderInformation();
        const orderInformationAmountDetails = new cybersourceRestApi.Riskv1authenticationsOrderInformationAmountDetails();
        orderInformationAmountDetails.currency = payload.currency;
        orderInformationAmountDetails.totalAmount = payload.totalAmount;
        orderInformation.amountDetails = orderInformationAmountDetails;

        const orderInformationBillTo = new cybersourceRestApi.Riskv1authenticationsOrderInformationBillTo();
        orderInformationBillTo.address1 = payload.address1;
        orderInformationBillTo.address2 = payload.address2;
        orderInformationBillTo.administrativeArea = payload.administrativeArea;
        orderInformationBillTo.country = payload.country;
        orderInformationBillTo.locality = payload.locality;
        orderInformationBillTo.firstName = payload.firstName;
        orderInformationBillTo.lastName = payload.lastName;
        orderInformationBillTo.phoneNumber = payload.phoneNumber;
        orderInformationBillTo.email = payload.email;
        orderInformationBillTo.postalCode = payload.postalCode;
        orderInformation.billTo = orderInformationBillTo;

        requestObj.orderInformation = orderInformation;

        const paymentInformation = new cybersourceRestApi.Riskv1authenticationsPaymentInformation();
        const paymentInformationCard = new cybersourceRestApi.Riskv1authenticationsPaymentInformationCard();
        paymentInformationCard.expirationMonth = payload.expirationMonth;
        paymentInformationCard.expirationYear = payload.expirationYear;
        paymentInformationCard.number = payload.cardNumber;
        paymentInformation.card = paymentInformationCard;

        requestObj.paymentInformation = paymentInformation;

        const buyerInformation = new cybersourceRestApi.Riskv1authenticationsBuyerInformation();
        buyerInformation.mobilePhone = payload.mobilePhone;
        requestObj.buyerInformation = buyerInformation;
        

        const consumerAuthenticationInformation = new cybersourceRestApi.Riskv1decisionsConsumerAuthenticationInformation();
        consumerAuthenticationInformation.transactionMode = 'MOTO';
        consumerAuthenticationInformation.md = md_data
        consumerAuthenticationInformation.termUrl = 'https:///24472dc65fd9.ngrok.io/notifications/cybersource';
        requestObj.consumerAuthenticationInformation = consumerAuthenticationInformation;

        this.payerAuthenticationApiInstance.checkPayerAuthEnrollment(requestObj, (error, data, response) =&amp;gt; {
          
          
          if (error) {
            console.log('\nError : ' + JSON.stringify(error));
            reject(error);
          } else if (data) {
            console.log('\nData : ' + JSON.stringify(data));
            data['md_data'] = md_data
            resolve(data);
          }
          response['md_data'] = md_data
          resolve(response);
        });
      } catch (error) {
        console.log('\nException on calling the API : ' + error);
        reject(error);
      }
    });
  }
}

module.exports = PayerAuthenticationController;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 27 Mar 2024 10:52:53 GMT</pubDate>
    <dc:creator>mateo</dc:creator>
    <dc:date>2024-03-27T10:52:53Z</dc:date>
    <item>
      <title>A message element required as defined in Table A.1 is missing from the message. deviceChannel</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88464#M1314</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am implementing 3DS on REST API, I have been doing some tests and I was able to get the authentication window for 3DS just fine, a few days ago, I started getting error:&amp;nbsp;A message element required as defined in Table A.1 is missing from the message. deviceChannel.&lt;/P&gt;&lt;P&gt;I don't find any instructions on adding this to the REST API code. I have also tried the live test platform on Cybersource that is found &lt;A href="https://developer.cybersource.com/api-reference-assets/index.html#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-payer-authentication_authorization-with-dm-accept-pa-enroll_liveconsole-tab-request-body" target="_self"&gt;here&lt;/A&gt; but still getting the same error.&lt;/P&gt;&lt;P&gt;Has anyone faced this and how can I resolve it? Thank you&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jan 2024 10:30:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88464#M1314</guid>
      <dc:creator>mateo</dc:creator>
      <dc:date>2024-01-02T10:30:15Z</dc:date>
    </item>
    <item>
      <title>Re: A message element required as defined in Table A.1 is missing from the message. deviceChannel</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88527#M1344</link>
      <description>&lt;P&gt;I have the same problem in my test flow, but I cannot identify the problem&amp;nbsp;because I have not made any changes.&lt;BR /&gt;&lt;BR /&gt;Maybe someone knows what change&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jan 2024 19:07:22 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88527#M1344</guid>
      <dc:creator>joselu</dc:creator>
      <dc:date>2024-01-04T19:07:22Z</dc:date>
    </item>
    <item>
      <title>Re: A message element required as defined in Table A.1 is missing from the message. deviceChannel</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88651#M1370</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/66664"&gt;@joselu&lt;/a&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am facing the same issue did you got the solution for it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in Advance&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jan 2024 11:30:00 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88651#M1370</guid>
      <dc:creator>Apple</dc:creator>
      <dc:date>2024-01-18T11:30:00Z</dc:date>
    </item>
    <item>
      <title>Re: A message element required as defined in Table A.1 is missing from the message. deviceChannel</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88784#M1393</link>
      <description>&lt;P&gt;I also faced a similar issue, but I was able to resolve it by passing the reference id gotten from :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="java"&gt;authenticationSetupsPostResponse.getConsumerAuthenticationInformation().getReferenceId()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;to :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="java"&gt;consumerAuthenticationInformation.setReferenceId(referenceId);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Feb 2024 09:49:57 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/88784#M1393</guid>
      <dc:creator>etherofgodd</dc:creator>
      <dc:date>2024-02-12T09:49:57Z</dc:date>
    </item>
    <item>
      <title>Re: A message element required as defined in Table A.1 is missing from the message. deviceChannel</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/89086#M1469</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/66958"&gt;@etherofgodd&lt;/a&gt;&amp;nbsp;, thanks for the reply. I can’t seem to find the mentioned ID. Where can I get this method?&amp;nbsp; I am using Riskv1&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;authenticationSetupsPostResponse.getConsumerAuthenticationInformation().getReferenceId()&lt;/PRE&gt;&lt;P&gt;And this method&amp;nbsp; setReferenceID, is not found on consumerAuthenticationInformation&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;consumerAuthenticationInformation.setReferenceId(referenceId);&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Here is my code from Cybersource REST documentation&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;const cybersourceRestApi = require('cybersource-rest-client');
const configuration = require('../config/Configuration');
const generateRandomString = require('../utils/index');

class PayerAuthenticationController {
  constructor() {
    this.configObject = new configuration();
    this.apiClient = new cybersourceRestApi.ApiClient();
    this.payerAuthenticationApiInstance = new cybersourceRestApi.PayerAuthenticationApi(this.configObject, this.apiClient);
  }

  enrollWithPendingAuthentication(payload) {
    return new Promise((resolve, reject) =&amp;gt; {
      try {
        const requestObj = new cybersourceRestApi.CheckPayerAuthEnrollmentRequest();
        const md_data = generateRandomString(50);
        const clientReferenceInformation = new cybersourceRestApi.Riskv1decisionsClientReferenceInformation();
        clientReferenceInformation.code = generateRandomString(20);
        requestObj.clientReferenceInformation = clientReferenceInformation;

        const orderInformation = new cybersourceRestApi.Riskv1authenticationsOrderInformation();
        const orderInformationAmountDetails = new cybersourceRestApi.Riskv1authenticationsOrderInformationAmountDetails();
        orderInformationAmountDetails.currency = payload.currency;
        orderInformationAmountDetails.totalAmount = payload.totalAmount;
        orderInformation.amountDetails = orderInformationAmountDetails;

        const orderInformationBillTo = new cybersourceRestApi.Riskv1authenticationsOrderInformationBillTo();
        orderInformationBillTo.address1 = payload.address1;
        orderInformationBillTo.address2 = payload.address2;
        orderInformationBillTo.administrativeArea = payload.administrativeArea;
        orderInformationBillTo.country = payload.country;
        orderInformationBillTo.locality = payload.locality;
        orderInformationBillTo.firstName = payload.firstName;
        orderInformationBillTo.lastName = payload.lastName;
        orderInformationBillTo.phoneNumber = payload.phoneNumber;
        orderInformationBillTo.email = payload.email;
        orderInformationBillTo.postalCode = payload.postalCode;
        orderInformation.billTo = orderInformationBillTo;

        requestObj.orderInformation = orderInformation;

        const paymentInformation = new cybersourceRestApi.Riskv1authenticationsPaymentInformation();
        const paymentInformationCard = new cybersourceRestApi.Riskv1authenticationsPaymentInformationCard();
        paymentInformationCard.expirationMonth = payload.expirationMonth;
        paymentInformationCard.expirationYear = payload.expirationYear;
        paymentInformationCard.number = payload.cardNumber;
        paymentInformation.card = paymentInformationCard;

        requestObj.paymentInformation = paymentInformation;

        const buyerInformation = new cybersourceRestApi.Riskv1authenticationsBuyerInformation();
        buyerInformation.mobilePhone = payload.mobilePhone;
        requestObj.buyerInformation = buyerInformation;
        

        const consumerAuthenticationInformation = new cybersourceRestApi.Riskv1decisionsConsumerAuthenticationInformation();
        consumerAuthenticationInformation.transactionMode = 'MOTO';
        consumerAuthenticationInformation.md = md_data
        consumerAuthenticationInformation.termUrl = 'https:///24472dc65fd9.ngrok.io/notifications/cybersource';
        requestObj.consumerAuthenticationInformation = consumerAuthenticationInformation;

        this.payerAuthenticationApiInstance.checkPayerAuthEnrollment(requestObj, (error, data, response) =&amp;gt; {
          
          
          if (error) {
            console.log('\nError : ' + JSON.stringify(error));
            reject(error);
          } else if (data) {
            console.log('\nData : ' + JSON.stringify(data));
            data['md_data'] = md_data
            resolve(data);
          }
          response['md_data'] = md_data
          resolve(response);
        });
      } catch (error) {
        console.log('\nException on calling the API : ' + error);
        reject(error);
      }
    });
  }
}

module.exports = PayerAuthenticationController;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2024 10:52:53 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/A-message-element-required-as-defined-in-Table-A-1-is-missing/m-p/89086#M1469</guid>
      <dc:creator>mateo</dc:creator>
      <dc:date>2024-03-27T10:52:53Z</dc:date>
    </item>
  </channel>
</rss>

