That is the best way to simulate a decline in development.
As for keeping an order when a card is declined I think you'll have to
make code changes. The default behavior is to reject the original
order and create a new one. In ecommerce and the order mgr the cart
retains all information, plus ID of the original rejected order. Then
the user can try again.
-David
On Feb 13, 2008, at 1:16 PM, Dave Tenerowicz wrote:
Sorry guys, I found that I can avoid this problem by changing the
Product Store settings for Header and Item Declined to "APPROVED".
With this setting, it is possible to save the order and enter a
different payment method, and then to get an authorization which
Approves the order. So far, so good.
However, once we attempt to Quick Ship this order (which had a
payment declined, but now the payment with a new CC is authorized),
we are unable to create the shipment (message something like :
Shipment not created, no items to ship)
I have traced this out, and when an OPP is declined a
OrderItemShipGrpInvRes entry is not created. As a result when the
Quick Ship button is used, the once declined, but now approved order
generates an error because (I think) there is no entry in this table.
Can anyone tell me how we can simulate credit card declines without
breaking the quick ship functionality? Is changing the Product Store
Payment setup for Payment Auth Service from
"alwaysApproveCCProcessor" to "alwaysDeclineCCProcessor" the best/
only way to simulate a cc decline?
I appreciate any advice on how to test declines
-Dave
BJ Freeman wrote:
By using SECAS you can check for the fields that are passed.
if the cc provider provides the CVV code it can be check and then the
same service that is called by the reject code can be called by the
SECAS.
here is an example:
here is how a rule looks in ofbiz
<eca service="createPaymentFromPreference" event="return" >
<condition field-name="gatewayAvsResult" operator="equals"
value="XXU"/>
<set field-name="statusId" value="ORDER_FraudCheck"/>
<action service="ChangeStatus" mode="async"/>
</eca>
Your second suggestion can be done, but also takes more
consideration as
to how to Flag that type of operation, or just hard code it.
Raj Saini sent the following on 2/12/2008 10:14 PM:
If I am getting it correctly, it is possible to have store setting
(something like nsfRetry) that not to retry the CC. If CC is
declined,
customer will be sent back to the payment page again where
customer can
enter the new credit card detail. He/she does not need to renter the
order. This is how it is working for me.
Alternatively, you can send a mail on order rejection to customer
and
asking them to add/modify the credit card. On next CC retry new card
should be used. Though, I am not sure how it can work with CVV.
Raj
BJ Freeman wrote:
maybe a way to approach this is to allow a parm that can be set
for the
store so the process is changed if the card is declined and send
the
customer back so they can enter a new CC.
Dave Tenerowicz sent the following on 2/12/2008 12:21 PM:
Sorry, perhaps I was not clear. The issue is not retrying the
same CC,
it is using a new CC to pay for the order
The scenario is that the card is declined and will never be
authorized.
The Customer wants to place the order and the order taker simply
wants
to use a DIFFERENT credit card number to pay for the order. As
things
function out of the box, the only recourse for the user is to re-
enter
the order (again) and associate it with a different payment
method (CC
or other). This is what we need to avoid - it is too cumbersome
for the
user
Thanks for any suggestions
-Dave
BJ Freeman wrote:
there is a service retryFailedAuthNsfs
it is automatically run every day.
https://demo.hotwaxmedia.com/webtools/control/availableServices?sel_service_name=retryFailedAuthNsfs
needsNsfRetry is set in the OrderPaymentPreference
look in
applications/Accounting/src/org/ofbiz/accounting/payment/
PaymentGatewayServices.java
Dave Tenerowicz sent the following on 2/12/2008 10:28 AM:
In order to test default functionality when a credit card
payment
on an
order is declined, we changed the settings in Product Store,
Payments
tab for Payment Auth service to alwaysDeclineCCProcessor.
Then we tested by creating an order and submitting a CC# as a
payment
method. Of course the CC was declined, and the Order status
was set to
ORDER_REJECTED, OrderITemStatus was also set to rejected. Since
there is
no valid status change allowed from ORDER_REJECTED to anything
else,
there appears to be no way to take the existing order, assign
a new
paymentMethodId and reattempt authorization with a different
credit
card. Is this true?
To remedy this, we could add an entry to StatusValidChange that
allows a
movement from ORDER_REJECTED back to ORDER_APPROVED, modify
secas.xml
and theoretically that should allow the user to select an
alternate
payment method from the Order Detail screen and reprocess
payment.
Is this the best way to handle this? The requirement is to
allow an
order taker to switch to a different credit card if the first
one is
declined - without having to completely re-enter the order.
If anyone has encountered this before, or has a suggestion
about an
approach, that would be most welcome. Thanks
--
Dave Tenerowicz
[EMAIL PROTECTED]
Office: 303.493.6727
Mobile 303.906.6116
Fax 303.814.8331
Visit us at http://www.salmonllc.com
For ERP Information:
http://www.salmonllc.com/Jsp/vanity/ERP_CRM.jsp?nav=2&NavBarId=ERP_CRMServices