Oracle Payments returns a response object to each API that an electronic commerce application calls. If the operation fails, then the response object contains status value (IBY_FAILURE), indicating that there was a failure while processing the request. In these cases, the electronic commerce application can get more information about the failure by checking the error code and the error message. Errors can happen in Oracle Payments for various reasons. For example, wrong or duplicate data passed by the electronic commerce application, time out while communicating with Payment Systems, etc. All the errors that can occur in Oracle Payments can be categorized in these groups:
The table below describes the most common errors.
Error Code | Description |
---|---|
IBY_0001 | Communications error. The payment system, the processor, or Oracle Payments electronic commerce servlet is not accessible. You should resubmit the request at a later time. |
IBY_0002 | Duplicate order identifier. |
IBY_0003 | Duplicate batch identifier. |
IBY_0004 | Mandatory fields are required. |
IBY_0005 | Payment system specific error. Check BEPErrCode and BEPErrMsg in response objects for more information. |
IBY_0006 | Batch partially succeeded. Some transactions in the batch failed and some were processed correctly. |
IBY_0007 | The batch failed. You should correct the problem and resubmit the batch. |
IBY_0008 | Requested action is not supported by the payment system. |
IBY_0017 | Insufficient funds. |
IBY_0019 | Invalid credit card or bank account number. |
In each payment request, a payment instrument from which the money is transferred to the payee's account is involved. Generally this information is given by the end user of the electronic commerce application. Sometimes the end user might enter wrong instrument number or an instrument number that does not have enough funds. To detect these errors, Oracle Payments provides two error codes that help electronic commerce applications to prompt the end user for correct information.
The error codes due to invalid or duplicate data and their descriptions are given in the table below.
Error Code | Description |
---|---|
IBY_0017 | Insufficient funds |
IBY_0019 | Invalid credit card/bank account number |
Since payment processing requests involve a number of different components connected over networks, time-out errors or communication errors are possible. For example, a processor successfully processes a payment request, but the network connection between the payment system and Oracle Payments, or the network connection between Oracle Payment's PL/SQL API package and Oracle Payments electronic commerce servlet break down, causing the electronic commerce application not to receive the result. In some cases, electronic commerce application might crash before receiving a response. Before the crash, payment processing may have completed. Therefore, when electronic commerce application calls the API with the same information, Oracle Payments considers this a duplicate request and raises an error. To recover from such errors, Oracle Payments provides two approaches.
In the first approach, which is applicable to OraPmtReq and OraPmtCredit, the electronic commerce application can try the request with the retry flag set up to TRUE. This makes Oracle Payments retry the request if it has not processed the request. Otherwise Oracle Payments sends the same response that was sent when this request was first made.
In the second approach, which is applicable to all other operations except OraPmtReq and OraPmtCredit, the electronic commerce application needs to find out if the transactions went through successfully to re-execute any lost transactions. To enable the merchant or business to query the status of a transaction, you need to integrate the Query Transaction Status API in the electronic commerce application. This API returns all existing records for a particular transaction identifier on a payment system.
The table below describes the communication error code and its description.
Error Code | Description |
---|---|
IBY_0001 | The payment system, the processor, or Oracle Payment's electronic commerce servlet is not accessible. You should resubmit the request at a later time. |
These errors occur if payees or payment systems are not configured properly. Make sure that the URLs are entered correctly and the payee's payment system identifiers are configured properly.