Why does the «Authorize.Net» payment extension not send the customers bank card details to my server?

I’ve been writing my own custom payment gateway, using the Authorize.Net plugin as an example.

However, when debugging, if I look in the quote (stepping through mine or Authorize.Net’s code), I never see any credit card information being sent.

To make things more interesting, when I look at the data being sent from the browser, the credit card information is never being sent to the server.

With the following code:

    <form class="form" id="co-transparent-form" action="#" method="post" data-bind="mageInit: {
        'transparent':{
            'context': context(),
            'controller': getControllerName(),
            'gateway': getCode(),
            'orderSaveUrl':getPlaceOrderUrl(),
            'cgiUrl': getCgiUrl(),
            'dateDelim': getDateDelim(),
            'cardFieldsMap': getCardFieldsMap(),
            'nativeAction': getSaveOrderUrl()
        }, 'validation':[]}">
        <!-- ko template: 'Magento_Payment/payment/cc-form' --><!-- /ko -->
    </form>

How do I get the CC info to be sent with the request?

Most of the modern payment API’s do not send the full bank card details to merchant’s servers because they do not want to oblige the merchants to have the PCI DSS certification.

2 posts were split to a new topic: How does the «Authorize.Net» payment extension send the customers bank card details to the Authorize.Net server?