You are on page 1of 10

APPLICATION TECHNICAL SPECIFICATION Release 2.

3 TD - R7 Postauth issue

Author: Creation Date Last Updated: Document Ref: Version: 1.2 08/31/2012 08/31/2012

Document Control..................................................................................3 Summary ...............................................................................................4 Root Cause.............................................................................................4 Proposed Design....................................................................................4 FD requirements ....................................................................................5 Technical Design....................................................................................6 Impact Analysis......................................................................................9 Issue Log..............................................................................................10 Glossary...............................................................................................10

Release 2.3 TD - R7 Postauth issue


Page 2 of 10

Document Control
Change Record
Date Author Version Change Reference

Reviewers
Name Position Date

Approvals
Name Position Date

Distribution
Copy No. 1 Name Library Master Location

Release 2.3 TD - R7 Postauth issue


Page 3 of 10

Summary
Req. Number 1 R/ D R Business Requirement The Credit Card pre-authorizations for a given ship set must post authorize for the sum of the copays up to the pre-authorization amount. Iris system must be able to reverse the unused preauthorized amount in a ship set. Send the reversed preauthorized to Trust Commerce to relieve the unused preauthorized amount. Order Payments value on sales order should reflect the amount that has been paid The Order Payment Form should show the audit trail of all reversals and postauths once postauth process is complete.

2 2.1 2.2 3

R R R R

Root Cause

Whenever we cancel a line from a ship set or change the line from one ship set to another ship set after the pre auth process is completed then we are encountering this issue as the total preauth amount for that ship set is not adjusted as per the changes done. So, We need to have a final check in Post Auth process to check if the actual copay amount and preauth amount are correct, if not then we need to make sure that we are doing Post Auth for correct amount and reverse the extra preauth amount.

Proposed Design

Post Authorization: As there is a possibility of copay amount could be less than pre-auth amount by time the workflow reached post-auth, we need to introduce a logic to do final validation in post-auth if pre-auth amount is not greater than copy amount, if so then it should adjust the pre-auth amount and post auth correct amount and reverse the extra pre-auth amount.

Sales Order Form(Order Payments): We need to change the logic in order payments form in SOF to show the pre-auth, post-auth, pre-auth reversals and pre-auth reversal failures so that the users will be able to see all the transactions.

Release 2.3 TD - R7 Postauth issue


Page 4 of 10

FD requirements
Req. Number 1 R/ D R Business Requirement The Credit Card pre-authorizations for a given ship set must post authorize for the sum of the copays up to the pre-authorization amount. Iris system must be able to reverse the unused preauthorized amount in a ship set. Send the reversed preauthorized to Trust Commerce to relieve the unused preauthorized amount. Order Payments value on sales order should reflect the amount that has been paid The Order Payment Form should show the audit trail of all reversals and postauths once postauth process is complete.

2 2.1 2.2 3

R R R R

Release 2.3 TD - R7 Postauth issue


Page 5 of 10

Technical Design
Post Auth Issue Changes:
Procedure: xxiris_om_order_validation_k.postauth_completion_p BEGIN --- get copay amount -x_copay_amt := xxiris_om_utility_k.get_total_copay_amount_f(p_header_id => p_x_header_id, p_ship_set_id => p_x_shipset_id); --- check if the pre auth amt is diff from copay amt, if so then do post auth for correct and reverse the remaining amt -FOR c_fetch_pa_amount IN c_get_pa_amount LOOP v_copay_remaining := x_copay_amt v_preauth_tot_amt; IF c_fetch_pa_amount.amount <= v_copay_remaining THEN --- collect the amount to do post auth -x_receipt_tbl(x_counter).receipt_trx_id := c_fetch_pa_amount.receipt_trx_id; x_receipt_tbl(x_counter).amount := c_fetch_pa_amount.amount; x_counter := x_counter + 1; ELSE IF v_copay_remaining > 0 THEN --- collect the correct amount for post auth -x_receipt_tbl(x_counter).receipt_trx_id := c_fetch_pa_amount.receipt_trx_id; x_receipt_tbl(x_counter).amount := v_copay_remaining; x_counter := x_counter + 1; --- reversal for the partial preauth -x_preauth_rev_tbl(x_rev_counter).receipt_trx_id := c_fetch_pa_amount.receipt_trx_id; x_preauth_rev_tbl(x_rev_counter).trustcommerce_trx_id := c_fetch_pa_amount.trustcommerce_trx_id; x_preauth_rev_tbl(x_rev_counter).cust_account_id := c_fetch_pa_amount.cust_account_id; x_preauth_rev_tbl(x_rev_counter).instrid := c_fetch_pa_amount.instrid; x_preauth_rev_tbl(x_rev_counter).amount := (c_fetch_pa_amount.amount v_copay_remaining); x_rev_counter := x_rev_counter + 1;
Release 2.3 TD - R7 Postauth issue
Page 6 of 10

ELSE --- reversal for complete preauth -x_preauth_rev_tbl(x_rev_counter).receipt_trx_id := c_fetch_pa_amount.receipt_trx_id; x_preauth_rev_tbl(x_rev_counter).trustcommerce_trx_id := c_fetch_pa_amount.trustcommerce_trx_id; x_preauth_rev_tbl(x_rev_counter).cust_account_id := c_fetch_pa_amount.cust_account_id; x_preauth_rev_tbl(x_rev_counter).instrid := c_fetch_pa_amount.instrid; x_preauth_rev_tbl(x_rev_counter).amount := c_fetch_pa_amount.amount; x_rev_counter := x_rev_counter + 1; END IF; END IF; v_preauth_tot_amt := v_preauth_tot_amt + c_fetch_pa_amount.amount; END LOOP; -- The OUT parameters received from calling PostAuth Transaction using RI.72 below are currently not being used. IF x_receipt_tbl.COUNT > 0 THEN -- Calling RI.72 for post Auth xxiris_ar_cc_processing_k.credit_card_processing_p(p_x_receipt_tbl => x_receipt_tbl, p_x_action => 'POSTAUTH', p_x_source => 'ORDER_VALIDATION', p_x_status_tbl => x_receipt_trx_tbl, p_x_status => x_status); p_x_status := x_status; --added by sree rama for HPSM IM10060517 to allow other payments to close with success status ELSE p_x_status := 'PASS'; END IF; --- check for pre auth reversals and do it only if post auth was succesful. -IF x_preauth_rev_tbl.COUNT > 0 AND p_x_status = 'PASS' THEN FOR i IN x_preauth_rev_tbl.FIRST .. x_preauth_rev_tbl.LAST LOOP xxiris_ar_cc_processing_k.cc_preauthreversal_p( p_x_header_id => p_x_header_id ,p_x_shipset_number => p_x_shipset_id ,p_x_cust_account_id => x_preauth_rev_tbl(i).cust_account_id ,p_receipt_trx_id => x_preauth_rev_tbl(i).receipt_trx_id

Release 2.3 TD - R7 Postauth issue


Page 7 of 10

,p_x_preauth_trx_id => x_preauth_rev_tbl(i).trustcommerce_trx_id ,p_instrid => x_preauth_rev_tbl(i).instrid ,p_x_amount => x_preauth_rev_tbl(i).amount ,p_x_status => x_status); END LOOP; END IF; EXCEPTION WHEN OTHERS THEN xxiris_common_err_k.record_and_stop(procname_in => x_procname, err_msg_in => SQLERRM, attribute2_in => 'When Others - Post Auth Completion', attribute1_in => TO_CHAR(p_x_header_id)); END postauth_completion_p;

Release 2.3 TD - R7 Postauth issue


Page 8 of 10

Impact Analysis
xxiris_om_order_validation_k.postauth_completion_p DIRECT IMPACTS : Post-Auth process INDIRECT IMPACTS : Ship Line orders

xxiris_ar_cc_processing_k.cc_preauth_reversal_p DIRECT IMPACTS : Post-Auth process INDIRECT IMPACTS : Ship Line orders

Sales order payments form

DIRECT IMPACTS

: Sales order payments form

INDIRECT IMPACTS : Sales order form

Release 2.3 TD - R7 Postauth issue


Page 9 of 10

Testing Requirements
Condition number Condition Description Expected Result

Issue Log
Open Issues
Issue ID Description Resolution Responsibility Target Date Impact Date

Closed Issues
Issue ID Description Resolution Responsibility Target Date Impact Date

Glossary
TERM DEFINITION

Release 2.3 TD - R7 Postauth issue


Page 10 of 10

You might also like