Re: allocated order number
sorry I'm still scratching my head on this one
please can someone outline the processing flow within zen-cart from after the 3rd party sends me back to the store
everything i'm reading points to getting to
PHP Code:
function before_process() {
// RESPONSE ACTION DEFINED
}
but nothing is seemingly being processed there, even if i only have a simple redirect to an intercept page (to check I got there!)
after returning to the store I am consistently given a 404 Page Not Found
where should I be handling the responses?
and what should my urls be if not
PHP Code:
$posturl = zen_href_link(FILENAME_CHECKOUT_PROCESS);
$returnurl= zen_href_link(FILENAME_CHECKOUT_PROCESS);
Here's the integration guidance i'm working with:
Quote:
Transaction Responses are posted back to the script in the post url:
• transaction_status – either A (Approved) or D (Declined)
• transaction_value_pence – as passed and processed
• order_number – as passed
• date_time - Date and time of order (YYYY-MM-DD HH:MM:SS)
The order_number is appended to the returnurl (as ono).
the GET method allows you to identify the returning cardholder, and typically perform a database lookup on
your own server to ascertain what transaction status result was delivered to the Post URL for that particular
cardholder.
as i read it, the post url is sending the transaction responses to the store to be processed behind the scenes, so where should i place my code checking for A or D (saving to the DB etc)?
i'm figuring once i have dealt with the post responses and
the customer returns to the store, i'm coding a $db look up to check if their transaction was successful or not and redirect then accordingly,
where do i do this? i was thinking it handled with
PHP Code:
$payment_modules->after_process();
...
but, without getting the responses dealt with i haven't got to that bit yet!!
I’m just not spotting what i’m missing!
Re: allocated order number
Put your transaction verification logic into before_process()
Re: allocated order number
Just as I thought... and have been trying... and still failing to see it acted upon!
I've managed to write and run some code that will effectively bypass the deadzone, i.e. write the response data and the order details, to the DB in a custom testing table, and then land the customer on the correct final page (either back on checkout_payment or checkout_success), however, i'm still not able to route it through the before_process or after_process.
I know, it’s obvious, the final stages of the sale is not being handled correctly!
i'm even able to use the DB via the zen-cart syntax because i'm still having to operate outside the zen-processs...
the order does not appear in the my account history pages even if i write to the correct DB tables
~ I don't want to rewrite the whole of the checkout section!
i know haven’t fully figured the correct flow,
i’ve looked at dozens of other payment mods and they ALL do things slightly differently so there’s no clear example
other than the occasional bit of syntax that looks the same, but then it’s been placed in a different places, so they are not easily comparable,
i don’t think i’ve found one that has the same/or similar structure that i need.
I feel I'm almost there but still so far away... I might try a few other variations including rearranging the actual location of the code, (writing a custom header etc).
Any way, I need the store live ASAP, so in the meantime i'm going to break from this and use another standard payment method....
when finished though (with the what now seems the trivial) and the store is live.... 'I will be back', as someone once said....
hopefully not still using a car to break through the walls but using the door as it should be used! I’ll let you know what happens.
Re: allocated order number
Care to post a zip of the affected files?
Re: allocated order number
Success !!
Phew, was that a hurdle or what!!
Just need to tidy up ~ removing all the commented duff lines, checking the file structure is efficient etc.,
it still needs thorough testing,
but looking forward to presenting it to y'all
Re: allocated order number
Hi ajmn,
I am looking at doing a similar thing for a new website I am currently building.
I have always found the sequential order no system problematic specially for sites that receive few orders, or like the one I am currently working on.
It does not instill any customer confidence in a site when you are the first one to place an order and get order no 00001 or so. Again if I wanted to buy another product a few months later and my new order number may be 00024.
As a customer I would seriously question the validity of the site.
So an automatically generated O/N such as yyyymmddhhmmss would be a great option, as it immediately identyfies the exact date etc. the order was placed.
The only bug I see would be if your sever would be in a different timezone than your shop, and you decide to include a timezone offset some time in the future.
Do you have a working version yet?
Kind regards,
Goshawk
Re: allocated order number
yyyymmddhhmmss would easily become tzyyyymmddhhmmss instead.
>Do you have a working version yet?
yes,
I've been taking a brief break and was hoping to get onto it again very soon ~ tidying up rewrite etc with a fresh set of eyes.