Troubleshooting
Problem
Attempts to run recordExternalCharges API updates the MaxChargeLimit even when not passed in input xml in IBM Sterling Order Management.
Symptom
If you use recordExternalCharges API to add new Authorization entry, you observe that MaxChargeLimit is getting modified even though the MaxChargeLimit is not passed in the input XML in the following scenario.
Steps to reproduce:
- Order with 2 OrderLines and with Order Total of $100 and max charge limit is $100.
- Cancel one line of $50
Now $50 is to be refunded and to record it in DB use recordExternalCharges API
Due to this add a –ve authorization of $50 and which is making max chargelimit as $50
Now if you add a new line you can’t use the same card as max charge limit is less than order total.
- Create an order.
- Invoke recordExternalCharges API:
<RecordExternalCharges OrderHeaderKey="">
<PaymentMethod PaymentKey="" >
<PaymentDetailsList>
<PaymentDetails AuthorizationExpirationDate="" AuthorizationID=""
RequestAmount="-100" ProcessedAmount="-100" TranReturnCode="DUMMY"
TranReturnMessage="DUMMY" CallForAuthorizationStatus="CLOSED"
ChargeType="AUTHORIZATION"/>
</PaymentDetailsList>
</PaymentMethod>
</RecordExternalCharges>
Cause
This works as per design.
Resolving The Problem
Since the book amount is reduced due to cancel, having max charge limit more than order total is not recommended.
If you call recordExternalCharges for a +ve amount, the max charge limit is increased.
In the similar fashion if you call the API to record a reversal, the max charge limit is reduced.
Was this topic helpful?
Document Information
Modified date:
10 May 2022
UID
swg21983263