Assembly: Bluefin-3.8.sp8-net4.5 (in Bluefin-3.8.sp8-net4.5.dll) Version: 3.8.0.8 (3.8.0.8)
Public Function Initiate As InitiateTransactionResponse
Return Value
Instanse of InitiateTransactionResponse. If Success() is true, the property TransactionID is setWhen programmatically submitting transactions to a payment gateway, it is possible that an Internet interruption or network glitch occurs and either the transmission from your software or the response back to your software is missed due to a host of reasons to do with the Internet, your Internet Service Provider (ISP) or even a temporary problem with your software or server. While this is rare, in high volume situations it can occur.
In such a case, you may submit a request to QSAPI and timeout waiting to receive a response. This leaves you with the option of retrying the transaction or not. If you retry the transaction and it was already processed, it can result in a duplicate transaction. If you do not retry the transaction, then it results in a lost sale, no authorization, or manual work to research and manage the exception. Thus, it is important to have a means to ensure that each request receives a response, and if not, to retry with confidence.
In order to do this use Safe Communication approach. Prior to any tender transaction obtain transaction id calling Initiate() method. Set returned transaction id into consequitive response.TransactionID propety and issue your request.
If your system does not recieve a response back, you have two options:
- to retry automatically the transaction and if the transaction already exists, you will receive a duplicate transaction ID error message back. This means the original transaction went through just fine and the transaction was not duplicated.
- to query automatically the status of the transaction using QuickSwipeGateway.Status(transaction_id). If the transaction was successfully run, then the transaction results will be returned as with a normal transaction so your software can collect this data as normal and move on. If the transaction has never been received, then TransactionStatusResponse will return with Error "transaction ID not found"
Use this overload for non-ISV access. If your code is intended to support multiple accounts, use the overload Initiate(BluefinAccount)