Authorize.net Accept.js Интеграция

Я интегрирую простую форму покупки с Authorize.net, используя Accept.js, и мне хотелось бы, чтобы счет-фактура или № задания записывались с транзакцией по кредитной карте. Обработчик отправки формы выглядит так:

function getSecureData() {

  /* Compile Data from Form */
  var secureData = {},
  authData = {},
  cardData = {};

  cardData.cardNumber = document.getElementById('CARDNUMBER_ID').value;
  cardData.month = document.getElementById('EXPIRY_MONTH_ID').value;
  cardData.year = document.getElementById('EXPIRY_YEAR_ID').value;
  cardData.zip  = document.getElementById('ZIP_CODE').value;
  cardData.cardCode  = document.getElementById('CARD_CODE').value;

  authData.clientKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
  authData.apiLoginID = 'XXXXXXXXX';

  /* My attempt to attach a job number to the secureData being submitted */
  secureData.userFields = {
    job_number: document.getElementById('JOB_NUMBER').value
  };

  secureData.cardData = cardData;
  secureData.authData = authData;

  /* Dispatch Data to Accept.js */
  Accept.dispatchData(secureData, 'responseHandler');

}

Я пытался экстраполировать из структуры данных из createTransactionRequest в документации. Однако информация, кажется, не попадает в чек продавца.

У кого-нибудь есть предложения или опыт в этом?

1 ответ

Решение

Вам нужно будет сделать это на стороне сервера. Ваш responseHandler должен отправлять dataDescriptor и dataValue вашей реализации на стороне сервера. Я предлагаю отправить счет # с ними или собрать его с сервером, и использовать API для конкретной платформы, чтобы установить invoiceNumber. Для PHP это выглядит так:

$order = new AnetAPI\OrderType();
$order->setInvoiceNumber($invoice_number);

Ссылка на предоставленную вами документацию предназначена для обычного API и не относится к accept.js. Лучшим источником информации о accept.js является пример реализации на github. Это также реализация для Apple Pay и может привести к путанице.

Другие вопросы по тегам