Author |
Topic |
|
davidr
Starting Member
USA
5 Posts |
Posted - July 01 2005 : 08:57:52
|
When I look at the Merchant Sales Summary, and request a detailed report for the last two weeks, the report shows product sales and revenue when the credit card was declined. This seems to be an error.
When I submitted this isse to the help desk, Cam's response was: 'By default the report shows all orders, whether successful or not.'
This means that the reporting shows revenue when revenue was not derived. This means that products show as sold, when they are not? Has anyone else had this challenge? Thanks PS - FYI, the entire sales process results in a secure digital download, so when it all works, it is rather automatic.
|
|
devshb
Senior Member
United Kingdom
1904 Posts |
Posted - July 01 2005 : 10:34:04
|
I think those reports just do blanket selects without restricting the status. You'd need to add a restriction to the sql to use the valid payment type config option and cross-check that against the payment type stamped on the order.
What would be really cool would be if there was a boolean field on the order table which gets populated as part of the order process so that such reports don't have to re-iterate the complex payment approval matching process. Orders do have a status field, but my personal preference would be to just have simple booleans as well for some aspects such as successful payment made, then they can more easily be color-coded in a customised way on the order admin screen.
I'd prefer that purely because it'd make coding inside our addons easier, but that's probably not a good reason for implementing it across generic vpasp!
Mind you, different people use different statuses for different reasons, and process their orders in different ways, so you'd probably never be able to get a generic solution that everyone'd be happy with.
In case anyone wants the relevant logic to add to their report, here's what we created which is part of our general "useful functions" library that we use all over the place:
Dim tvalidpaymentlist Dim tvalidpaymentarray(1000) Dim tvalidpaymentarraycount Dim tvalidpaymentsqlsyntaxlist Dim i tvalidpaymentsqlsyntaxlist="" tvalidpaymentlist=GetConfig("xendofordervalidpayments") ' Split payment list into an array, using a comma as the separator from the source list: parserecord tvalidpaymentlist,tvalidpaymentarray,tvalidpaymentarraycount,"," for i=1 to tvalidpaymentarraycount if (i>1) then tvalidpaymentsqlsyntaxlist=tvalidpaymentsqlsyntaxlist&"," end if tvalidpaymentsqlsyntaxlist=tvalidpaymentsqlsyntaxlist&"'"&tvalidpaymentarray(i-1)&"'" next sql=sql&" AND orders.ocardtype in ("&tvalidpaymentsqlsyntaxlist&") "
Simon Barnaby Developer [email protected] www.BigYellowZone.com Web Design, Online Marketing and VPASP addons
Edited by - devshb on July 01 2005 10:55:41 |
|
|
dcwebman
VP-CART New User
USA
127 Posts |
Posted - July 05 2005 : 10:48:19
|
One of my clients came across this. The order in VP-ASP seems valid but when going to the payment gateway it shows the credit card was declined. Is there a way to identify that it was declined in VP-ASP and better yet get an email that the order was declined so the client could contact that person to see if they had another form of payment? Jeff
|
|
|
devshb
Senior Member
United Kingdom
1904 Posts |
Posted - July 05 2005 : 11:38:50
|
It depends on how the gateway files have been setup, but what usually happens is that the ocardtype would be set to null or something like "visa", "mastercard" etc when they place the order, and if/when the payment is successful then the ocardtype would get changed to the name of the gateway ("protx", "paypal" etc), so "visa" and "mastercard" should not be on the list of validpaymenttypes, but "protx" or "paypal" would. only orders with "protx" or "paypal" should be regarded as valid; all the others would be ones where the card got rejected or the customer didn't proceed past the gateway.
The logic in the posting above should be usable to work out a valid payment/order, any orders which don't fit that should be ignored or followed up with a "did you need help?" email etc. I don't think there's an actual status for "invalid payment type" (which is a shame) so you'd have to check it manually I think using the logic above.
I don't think you'd be able to have it automatically send out emails when cards get declined because in those instances the customer won't go back to the shop site and so no emails would/could get kicked-off; it'd need to be an admin process (say done each day) where the admin user goes through the orders that are older than, say, 1 hour (in case some are still pending through the gateway) which are invalid as per above.
"Payments Yes/No" in the display orders admin page parameters seems to only check the null/not-null value of the ocardtype, but doesn't cross-check it against the valid paymenttypes.
(note that valid card types, and valid payment types are different; in this instance it's the xendofordervalidpayments list that you want to check against, and the value to check it on is orders.ocardtype)
Simon Barnaby Developer [email protected] www.BigYellowZone.com Web Design, Online Marketing and VPASP addons
Edited by - devshb on July 05 2005 11:48:56 |
|
|
dcwebman
VP-CART New User
USA
127 Posts |
Posted - July 07 2005 : 10:29:44
|
Simon, thanks for the info. Unfortunately my client deleted those other orders so I can't compare now. But I do know what you're saying as changing the payment type. Authorize.NET does change the payment type to Authorize.net however Verisign Payflow Pro does not. Personally I like keeping it as the type of credit card because as a customer I would want an email back telling me what type of card I used, not something like Authorize.net.
I'll have to wait to get some bad orders in again so I can do some compares and possibly implement what you suggested. Thanks, Jeff
|
|
|
|
Topic |
|