To use Upodi with NetAxept tokens, you must create a recurring token using the NetAxept frontend implementation. This is explained in detail with an example flow in the NetAxept documentation - remember to skip down to the part for recurring payments.

To create a payment method using a NetAxept token, make a POST request to /paymentmethods/:customerid/ with a body using the createpaymentmethod request object:

{
  "type" : 64 /* PureTokenBased = 64 */,
  "makedefault" : "true", /* will make the payment method default */
  "puretoken" : { 
    "token" : " eN8hW9NLAZndKgOZPvLkJY0j1k8=", /* NetAxept subscription ID */
    "paymentgateway" : "netaxept"
  }
}

Common setup

Follow these steps to setup a tokenized token. Please find your merchantId and Token ready as credentials.

NETS - Netaxept  copyrightNETS - Netaxept  copyright

NETS - Netaxept copyright

🚧

Allow Upodi to process recurring

To ensure Upodi can process payments on a custom schedule, please make sure that you have provided the parameter recurringFrequency correctly. RecurringFrequency must be set to 0.

1) Register payment

In this sample, we use serviceType=B to display the Netaxept terminal window.

curl https://epayment.nets.eu/Netaxept/Register.aspx?
ordernumber={ordernumber}&amount=100&currencycode=DKK&servicetype=B
&recurringtype=R&MerchantId={merchantId}&Token={token}
&recurringfrequency=0&force3DSecure=true
&updateStoredPaymentInfo=true&redirectUrl={redirecturl}
&recurringexpirydate=20400101

From the response, please grab the transactionid, example: 1113da82df7a4665afe1a601b5247fa5

<?xml version="1.0" encoding="utf-8"?>
<RegisterResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <TransactionId>1113da82df7a4665afe1a601b5247fa5</TransactionId>
</RegisterResponse>

2) Get user input from the payment window

Redirect the user to the following url:

https://epayment.nets.eu/Terminal/default.aspx?MerchantId={merchantId}&redirectUrl={redirecturl}&transactionId=1113da82df7a4665afe1a601b5247fa5

Once the payment window is completed, you are redirected to the {redirecturl} and the terminalid is a query of the url.

3) Verify the card

Conduct a call to the API again by verifying the request using the following format:

https://epayment.nets.eu/Netaxept/Query.aspx?
MerchantId={merchantId}&Token={token}&TransactionId=1113da82df7a4665afe1a601b5247fa5
&operation=VERIFY

4) Get token

Once completed, grab the panHash (token) by running a Query:

https://epayment.nets.eu/Netaxept/Query.aspx?MerchantId={merchantId}&Token={token}&TransactionId=1113da82df7a4665afe1a601b5247fa5

The response will look like this:

<?xml version="1.0" encoding="utf-8"?>
<PaymentInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <MerchantId>....</MerchantId>
    <QueryFinished>2019-12-17T14:59:03.5125999+02:00</QueryFinished>
    <TransactionId>1113da82df7a4665afe1a601b5247fa5</TransactionId>
    <OrderInformation>
        <Amount>100</Amount>
        <Currency>DKK</Currency>
        <OrderNumber>{ordernumber}</OrderNumber>
        <OrderDescription> </OrderDescription>
        <Fee>0</Fee>
        <RoundingAmount>0</RoundingAmount>
        <Total>100</Total>
        <Timestamp>2019-12-17T14:59:03.512</Timestamp>
    </OrderInformation>
    <TerminalInformation>
        <CustomerEntered>2019-12-17T14:59:03.512</CustomerEntered>
        <CustomerRedirected>2019-12-17T14:59:03.512</CustomerRedirected>
        <Browser>Upodi</Browser>
    </TerminalInformation>
    <CustomerInformation>
        <Email />
        <IP>xx.xx.xx.xx</IP>
        <PhoneNumber />
        <CustomerNumber />
        <FirstName />
        <LastName />
        <Address1 />
        <Address2 />
        <Postcode />
        <Town />
        <Country />
        <SocialSecurityNumber />
        <CompanyName />
        <CompanyRegistrationNumber />
    </CustomerInformation>
    <Summary>
        <AmountCaptured>0</AmountCaptured>
        <AmountCredited>0</AmountCredited>
        <Annulled>false</Annulled>
        <Annuled>false</Annuled>
        <Authorized>false</Authorized>
    </Summary>
    <CardInformation>
        <Issuer>MasterCard</Issuer>
        <IssuerCountry>DK</IssuerCountry>
        <MaskedPAN>111159******2512</MaskedPAN>
        <PaymentMethod>MasterCard</PaymentMethod>
        <ExpiryDate>2666</ExpiryDate>
        <PanHash>aaTTFFOW2RmflfjdmI1RoAzsPI=</PanHash>
        <IssuerId>4</IssuerId>
    </CardInformation>
    <History>
        <TransactionLogLine>
            <DateTime>2019-12-17T14:52:41.837</DateTime>
            <Description />
            <Operation>Register</Operation>
            <TransactionReconRef />
        </TransactionLogLine>
    </History>
    <ErrorLog />
    <AuthenticationInformation>
        <ECI>02</ECI>
        <AuthenticatedWith>3-D Secure</AuthenticatedWith>
        <AuthenticatedStatus>Y</AuthenticatedStatus>
    </AuthenticationInformation>
    <AvtaleGiroInformation />
    <Recurring>
        <PanHash>aaTTFFOW2RmflfjdmI1RoAzsPI=</PanHash>
        <ExpiryDate>20300101</ExpiryDate>
        <Frequency>0</Frequency>
        <Type>Recurring (Init)</Type>
    </Recurring>
    <SecurityInformation>
        <CustomerIPCountry>DK</CustomerIPCountry>
        <IPCountryMatchesIssuingCountry>true</IPCountryMatchesIssuingCountry>
    </SecurityInformation>
    <Wallet>
        <Issuer>EasyPayment</Issuer>
    </Wallet>
</PaymentInfo>