Process

 

Description

All financial transactions are encapsulated by the ”Process”-call. Available financial transactions are AUTH, SALE, CAPTURE, CREDIT and ANNUL.

The process call needs to be made at most 365 days (1 year) after the initial Register call for the transaction.

The operations have time restrictions that can vary from this:

  • The authorization (AUTH) must for most payment be done within 24 hours of the user being redirected back from the terminal. Nets recomends doing this as soon as possible. Note that this applies, among others, to card payments.
  • The CAPTURE operation should be done while the reservation is still valid, if applicable. Many issuers are using a 21 day limit. Beyond this, the response depends on the issuer and specific account.
  • The CREDIT is available for 365 days.

API call

Web Services

Process (string merchantId, string token, ProcessRequest  request) -> ProcessResponse

REST

https://epayment.nets.eu/Netaxept/Process.aspx

Input parameters

Authentication

Merchant ID

REST: merchantId

WebServices: merchantId

Required

Validation: Numeric

MaxLength: 8

The merchant ID is required for all calls made to Nets. It identifies you as a merchant. Test accounts may have a maximum length of 8 characters, while production accounts has a max length of 6 characters.

 

Token

REST: token

WebServices: token

Required

Validation: Reference

MaxLength: 32

The token is the shared secret between the merchant and Netaxept. It is used to authenticate the merchant, and is provided to you by Netaxept.

ProcessRequest

Operation

REST: operation

WebServices: ProcessRequest.Operation

Required

Validation: Alpha

MaxLength: N/A

Which financial operation to run. Valid operations are:

  • AUTH
  • SALE
  • CAPTURE
  • CREDIT
  • ANNUL

 

Transaction ID

REST: transactionId

WebServices: TransactionId

Required

Validation: Reference

MaxLength: 32

The Transaction ID is a unique ID that is used to reference the transaction in our systems at any point. The Transaction ID needs to be unique for the merchant ID. This reference needs to match the transaction ID used with the register call.

 

Description

REST: description

WebServices: ProcessRequest.Description

Optional

Validation: Custom

MaxLength: 4000

A description string for the merchant.

 

Transaction amount

REST: transactionAmount

WebServices: ProcessRequest.TransactionAmount

Optional

Validation: Numeric

MaxLength: 10

The amount described as the lowest monetary unit, example: 100,00 NOK is noted as "10000", 9.99 USD is noted as "999". Note that both CREDIT and CAPTURE support partial captures and credits.

If no transaction amount is specified, for CAPTURE and CREDIT, the full available amount will be catured or credited, respectively.

 

Transaction Reconciliation Reference

REST: transactionReconRef

WebServices: ProcessRequest.TransactionReconRef

Optional

Validation: Reference

MaxLength: 32

The transaction reconciliation reference is a merchant created reference local to a transaction. It is sent to certain acquirers and is returned with settlement. Not all acquirers support returning transaction reconciliation references.

A transaction reconciliation reference can be submitted when a transaction is registered with the Register call. This reference will then serve as a default reference if the reconciliation reference is omitted in the Process-call.

The transaction reconciliation reference can also be omitted altogether.

 

Output parameters

ProcessResponse

Operation

REST: Operation

WebServices: ProcessResponse.Operation

Required

Validation: Alpha

MaxLength: N/A

The Process call will echo which operation was used for this call. This is more useful when doing batch processing, but the field is set for single operations as well.

 

Transaction ID

REST: transactionId

WebServices: TransactionId

Required

Validation: Reference

MaxLength: 32

The transaction ID is echoed from the Process call.

 

Merchant ID

REST: MerchantId

WebServices: MerchantId

Required

Validation: Reference

MaxLength: 32

The merchant ID is echoed from the Process call.

 

 

Response code

REST: ResponseCode

WebServices: ProcessResponse.ResponseCode

Required

Validation: AlphaNumeric

MaxLength: N/A

The response code will be set to the string “OK” if the transaction was processed correctly. Any other response is an error, and should be logged with the Response Source and the Response Text.

 

Response source

REST: ResponseSource

WebServices: ProcessResponse.ResponseSource

Optional (present if Response Code different from “OK”)

Validation: AlphaNumeric

MaxLength: N/A

The response source indicates where the transaction failed. The response source should be logged and included in any communication with Netaxept support. 

Response source values from the current version of Netaxept (version 2):

  • Netaxept
  • Issuer
  • Module
  • Transport
  • Terminal

Response source values from the old version of Netaxept (version 1):

  • 01 (Error originated from NETS)
  • 02 (Error originated from Issuer)
  • 03 (Error originated from Payment module)
  • 04 (Error originated from Unidentified location on the transport layer)
  • 05 (Error orginated from User interaction)

 

Response text

REST: ResponseText

WebServices: ProcessResponse.ResponseText

Optional (present if Response Code different from “OK”)

Validation: Custom

MaxLength: N/A

The response source indicates where the transaction failed. The response source should be logged and included in any communication with Netaxept support. 

 

Authorization ID

REST: AuthorizationId

WebServices: ProcessResponse.AuthorizationId

Required (for AUTH)

Validation: Custom

MaxLength: 64

An ID identifying this authorization. This ID is sent from the issuer. 

 

Execution time

REST: ExecutionTime

WebServices: ProcessResponse.ExecutionTime

Required

Validation: Timestamp

MaxLength: N/A

A timestamp indicating when the operation was finished. This timestamp is generated on the server.

 

Exceptions

The Process-call can throw the following exceptions:

  • AuthenticationException
  • BBSException
  • MerchantTranslationException
  • GenericError
  • NotSupportedException
  • ValidationException

For a full description of the different exceptions, go here.

Caveats

If you are using CAPTURE in conjunction with the Fee-feature, you need to run a Query to get the Total amount before capturing, as the amount might have changed in the terminal. You can always CAPTURE upto the Total amount whether using Fees or not.

Rest

If testing the REST-interface in a browser, remember to URL-encode parameters that need it. When implementing the real client, you should of course use a custom HTTP-client.

Create the call:

Substitute [MERCHANTID], [TOKEN] and [TRANSACTION_ID] for the values you have been provided with. The following call will perform an AUTH on a registered transaction.

https://epayment-test.bbs.no/Netaxept/Process.aspx?merchantId=[MERCHANTID]&token=[TOKEN]&transactionId=[TRANSACTION_ID]&operation=AUTH

Web Service (WCF)

This example code assumes you added the WSDL to your project with the namespace BBS.

Auth

BBS.NetaxeptClient client = new TestNetaxept.BBS.NetaxeptClient();
var authres = client.Process([MERCHANT_ID], [TOKEN],
                new ProcessRequest
                {
                    Operation = "AUTH",
                    TransactionId = [TRANSACTION_ID]
                });

Next step

 A transaction that has been successfully authorized can be captured or annuled.