orders are created and held in that mode till an valid authorization or
a cancel do to length of time open.
if an authorization fails, then a retry is done till retries expire.
had a look at the cybersource code.
service cyberSourceCCAuth
found this TODO
private static void processAuthResult(Map reply, Map<String, Object>
result) {
String decision = getDecision(reply);
if ("ACCEPT".equalsIgnoreCase(decision)) {
result.put("authCode",
reply.get("ccAuthReply_authorizationCode"));
result.put("authResult", Boolean.TRUE);
} else {
result.put("authCode", decision);
result.put("authResult", Boolean.FALSE);
// TODO: based on reasonCode populate the following flags as
applicable: resultDeclined, resultNsf, resultBadExpire, resultBadCardNumber
}
result.put("authFlag", reply.get("ccAuthReply_reasonCode"));
is returned.
https://demo.hotwaxmedia.com/webtools/control/availableServices?sel_service_name=cyberSourceCCAuth
shows the authFlag as a return
in PaymentGatewayServices.java #processAuthResult()
response.set("gatewayFlag", context.get("authFlag"));
response.set("gatewayMessage", context.get("authMessage"));
response.set("transactionDate", UtilDateTime.nowTimestamp());
if (Boolean.TRUE.equals((Boolean)
context.get("resultDeclined"))) response.set("resultDeclined", "Y");
if (Boolean.TRUE.equals((Boolean) context.get("resultNsf")))
response.set("resultNsf", "Y");
if (Boolean.TRUE.equals((Boolean)
context.get("resultBadExpire"))) response.set("resultBadExpire", "Y");
if (Boolean.TRUE.equals((Boolean)
context.get("resultBadCardNumber"))) response.set("resultBadCardNumber",
"Y");
so the gatewayFlag is never evaluated and the
resultDeclined, resultNsf, resultBadExpire, resultBadCardNumber
flags are never set in the cybersource code so they are not acted on
specfically
if (Boolean.TRUE.equals((Boolean)
context.get("resultDeclined"))) response.set("resultDeclined", "Y");
hope that helps.
Raj Saini sent the following on 9/25/2008 10:11 PM:
> What is wrong with order creation if payment is rejected? AFAIK, order
> is created before it goes to the payment processor and if payment is
> rejected order is created in CREATED state. Is this not correct behavior?
>
> Thanks,
>
> Raj
>
> Pradeep Kumar wrote:
>> Hi all,
>>
>> I have integrated the the cybersource as my payment management system to
>> process our payments. It is working properly. But vocationally it is
>> causing
>> problem. ie Even after getting the rejected(REJECT) response from the
>> cybersource the orders are getting created.
>> Why this is happening and what might be the reason? In which area I
>> need to
>> analyze to solve this problem?
>>
>>
>>
>>
>>
>
>
>
>