Could you please open a Jira issue, if you going to patch this ?
http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Contributors+Best+Practices
BJ Freeman sent the following on 9/25/2008 11:46 PM:
> 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?
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>
>