Netaxept
About
Netaxept is a nordic payment service provider operated by Nets A/S. Additional information can be found here:
- Product information
- Support contact or call +45 44 89 24 80
- Developer information
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
- 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.
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¤cycode=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);
Updated almost 2 years ago