Gateway Configuration

This page details the configuration object for various gateways supported by Platform

Authorize.net

"configuration": {
    "name": "<authorize.net provided name>",
    "transaction_key": "<authorize.net transaction key>"
}

Platform's OAuth implementation for Authorize.Net can also be utilized to configure Authorize.Net without directly transmitting the transactionKey.

This technical overview presents a method for integrating Authorize.Net that circumvents the direct transmission of the transactionKey. The approach employs Platform's OAuth implementation, explicitly designed to facilitate secure and efficient integration with the Authorize.Net platform.

Using Platform Webcomponent

<!-- Platform Web Component -->
<payment-platform 
  type="gateway-connect" 
  gateway-id="authorize.net"
  merchant-id="<YOUR Merchant ID>">
</payment-platform>

<pre id="result"></pre>
<!-- Handling Event from component -->
<script>
  const el = document.querySelector('payment-platform')
  const output = document.getElementById('result')
  el.addEventListener('success', function(event) {
    console.log('success', { event })
    output.innerHTML = JSON.stringify(event.detail, null, 4)
  })
  el.addEventListener('failure', function(event) {
    console.log('failure', { event })
    output.innerHTML = JSON.stringify(event.detail, null, 4)
  })
</script>

Using Javascript to create your own UI

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Authorize.Net HTML</title>
    <script src="https://console.payengine.co/js/1.0.0/embed.js?<YOUR PUBLIC API KEY>" async></script>
  </head>
  <body>    
    <button id="connect">Connect to Authorize.net</button>
    <pre id="result"></pre>
    <script>
      const el = document.getElementById('connect')
      const output = document.getElementById('result')

      el.addEventListener('click', function() {
        Platform.connectWithAuthorizeNet('<Platform Merchant ID>')
        .then(response => {
          // Platform Merchant Gatway configurtion is returned
          console.log("Response:" + JSON.stringify(response))
          output.innerText = JSON.stringify(response)
        }).catch(err => {
          // Handle Error
          output.innerText = JSON.stringify(err)
        })
      })
    </script>
  </body>
</html>

Stripe

stripeAccount is only required for Stripe Connect

"configuration": {
  "stripe_api_key": "<stripe provided API key>",
  "stripe_account": "<stripe provided account>"
}

Elavon

"configuration": {
  "bank_number": "<6 digit bank number>",
  "terminal_id": "<16 digit terminal ID - typically starts with 000>",
  "merchant_id": "acc_xxx"
}

NMI

Using Security Key

"configuration": {
  "security_key": "<NMI security key>"
}

Using Username and Password

"configuration": {
  "username": "<username>",
  "password": "<password>"
}

TSYS

"configuration": {
  "merchant_number": "<12 digit merchant number>",
  "acquirer_bin": "<6 digit bin or acquirer ID>",
  "store_number": "<4 digit store number>",
  "terminal_number": "<4 digit terminal number>",
  "merchant_category": "<4 digit MCC or SIC code>",
  "location_number": "<5 digit location number>",
  "vital_number": "<8 digit v number or terminal ID>",
  "agent_bank": "<6 digit agent or agency number>",
  "agent_chain": "<6 digit chain number>"
}

EVO

"configuration": {
  "terminal_id": "<EVO provided terminal ID>"
}

Global Payments East - EMV

"configuration": {
  "merchant_id": "<numeric merchant ID>",
  "bank_id": "<6 digit bank id>"
}

World Pay

"configuration": {
  "merchant_number": "<15 digits>",
  "terminal_number": "<8 digits>",
  "check_digit": "<1 digit>",
  "device_id": "<2 digits>"
}

Last updated