About

Netaxept is a nordic payment service provider operated by Nets A/S. Additional information can be found here:

Setup

Have your Netaxept account ready. A trial account can be created here. To setup Netaxept in Upodi, please have your integration keys from Netaxept available. You will need four (4) keys found under Company > Integration.

In Upodi, go to Settings > Payment Providers > Configuration. Select Netaxept and click Connect. Provide the four keys and click Connect to complete.

Adding a payment method

Tokenization process

  1. Follow this guide from Netaxept to create a Netaxept recurring payment token.

To create a payment method for Netaxept, make a POST request to /paymentmethods/ with a JSON body as follows:

Example of body

{
    "gateway": "netaxept", 
    "source": "{provide netaxept token here}", 
    "customerid": "{provide upodi customer id here}", 
    "makedefault": true   
}

Common setup

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

720

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>

Finally send the PanHash to Upodi as the source in the PaymentMethods API call:

curl --location 'https://api-front.upodi.io/PaymentMethods/' \
--header 'X-version: {version}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ApiKey}' \
--data '{
    "customerID": "d63d87b8-00ea-4037-bf6a-2ffc65984116",
    "gateway": "netaxcept",
    "source": "aaTTFFOW2RmflfjdmI1RoAzsPI=",
    "makeDefault": true
}'
var pm = new CreatePaymentMethodRequest("netaxept", "aaTTFFOW2RmflfjdmI1RoAzsPI=", customer.ID, makeDefault: true);
var paymentMethodResponse = upodi.PaymentMethods.Create(pm);