Process
Description
All financial transactions are encapsulated by the ”Process”-call. Available financial transactions are AUTH, SALE, CAPTURE, CREDIT and ANNUL.
API call
Web Services
Process (string merchantId, string token, ProcessRequest request) -> ProcessResponse
REST
https://epayment.bbs.no/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 BBS. 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 |
|
Required (when OPERATION is CREDIT or CAPTURE) |
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. |
|
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 issuer and is returned with settlement. Not all issuers 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. |
|
Batch Reconciliation Reference |
REST: batchReconRef |
WebServices: ProcessRequest.BatchReconRef |
|
Optional |
Validation: Reference |
MaxLength: 32 |
|
Merchant-created reference which applies to a batch. Sent to issuer and returned with settlement. In standard implementation this should be empty. |
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: Numeric |
MaxLength: 6 |
|
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.