Tuesday, November 3, 2020

Credit Card Settlement: Submit Offline Transactions Wkr Error

 

Symptom/Problem/Error:

Submit Offline Transactions creates one or more Worker jobs to process the settlement of individual Credit Card transactions. This occasionally give error with payment processor or other issues.

Responsibility: Fund Transfer Process Manager

Main Concurrent Program: Submit Offline Transactions

Spawned Concurrent Program: Submit Offline Transactions Worker; Name “WRKR(01) (Submit Offline Transactions Wkr)”

When job is completed program gives error:



Once the error is generated, all subsequent processes will try to re-settle previous erred transaction. Thus every further job gives error.

Here is an example Concurrent Job Output:

+---------------------------------------------------------------------------+

Payments: Version : 12.2

Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.

IBY_FC_SUBMIT_OFFLINE_TXNS_WKR: Submit Offline Transactions Wkr

+---------------------------------------------------------------------------+

Current system time is 11-DEC-2020 15:24:50

+---------------------------------------------------------------------------+

P main executing runProgram for oracle.apps.iby.scheduler.SubmitOfflineTransactionsWkr

instr_type: CREDITCARD

Task Parameter: key: TRXNMID_MAX, value: 32606

Task Parameter: key: P_INSTRUMENT_TYPE, value: CREDITCARD

Task Parameter: key: TRXNMID_MIN, value: 32605

 

Processing CREDITCARD operations ..

java.sql.SQLException: ORA-20000: IBY_20422#

ORA-06512: at "APPS.IBY_TRANSACTIONCC_PKG", line 6807

ORA-06512: at "APPS.IBY_TRANSACTIONCC_PKG", line 1348

ORA-06512: at line 1

 

       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)

       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)

       at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)

       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)

       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)

       at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)

= = =

 

    Total CREDITCARD transaction processed : 2

    Total CREDITCARD transaction succesful : 2

    Total CREDITCARD transaction failed : 0

 

Finished processing CREDITCARD

Task Parameter: key: TRXNMID_MAX, value: 32606

Task Parameter: key: P_INSTRUMENT_TYPE, value: CREDITCARD

Task Parameter: key: TRXNMID_MIN, value: 32605

 

Processing PURCHASECARD operations ..

 

Finished processing PURCHASECARD

 

Cause:

Potential Causes of this problem:

  • Ø Error with bad or incomplete data
  • Ø Payment Gateway validation errors
  • Ø Transmission errors during Payment Processing

The steps mentioned is a work-around to remove this error affecting subsequent steps. The original error transaction needs to be settle manually. This may also require a new Credit Card Authorization.

Solution:

Step 1: Identify Problem Credit Card Transaction. May require some tweaking of the WHERE Clauses.

Select x.*

from IBY_TRXN_SUMMARIES_ALL x

where creation_date > sysdate-4.1        -- change based on when problem started

and STATUS = 1             -- Status 1 make the Submit Offline Program reprocess

and TRXNTYPEID = 8         -- use this only if reqd

order by TRXNMID desc;

 

Step 2: Update status from 1 to 0. (Make the EBS to think this transaction completed successfully !)

Update IBY_TRXN_SUMMARIES_ALL

Set status = 0

Where TRXNMID = <Error TRXNMID Value>;

 

Further executions will not process the problem transaction.

No bouncing or Functional Admin Cache Clearing is required for this solution.

Keywords:

Oracle EBS, iPayment, Payments, IBY, IBE, CC Credit Card, Payment Gateway, Cyber Source, CYS, SOAP REST Web Service, R12 R12.2.8 Release