--------------------------------------------------
From: "Vikram Vaswani" <[email protected]>
Sent: Tuesday, August 18, 2009 10:49 AM
To: <[email protected]>
Subject: Re: [oxid-dev-general][Fwd: Re:Urgent
questiononpaymentgatewayintegration]> Hi Arvydas,
I have worked around this right now by creating a static script in the
OXID root directory and making that script internally do the redirect.
However this is not a great solution. I was wondering if I could instead
use the OXID SEO engine to create a 'virtual' URL for this ie.
http://oxid.localhost/alertpay_success which redirects to above. If I do
this, what values do I give for the oxobjectid and oxident fields?
Are you really sure it does not accept dynamic parameters (separated by
"&"
char)? What if user disabled cookies and session id must be passed?
Good question.
I checked and with some experiments I realized that it supports ONE
dynamic parameter - ie. whatever appears after the ?. If there are any &,
then those are ignored - or rather, treated as parameters to AlertPay
instead of being properly forwarded.
In case "&" char is REALLY disallowed, you can workaround in two ways:
1. setup your ".htaccess" file, which translates response into dynamic
url form
e.g. "ap_cancelurl" would look like
"http://shop.com/cl/payment/payerror/4/sid/xxx/",
and mod_rewrite engine could translate it into
"http://shop.com/index.php?cl=payment&payerror=4&sid=xxx"
2. use old, deprecated (not recommended) oxid seo engine and build urls
e.g. "ap_cancelurl" would look like
"http://shop.com/oxid.php/cl/payment/payerror/4/sid/xxx/"
so oxid.php would translate it into
"http://shop.com/index.php?cl=payment&payerror=4&sid=xxx".
I was able to do this by creating a new static SEO URL in the OXID admin.
So I have http://oxid/ap-cancel which OXID translates to
http://oxid/index.php?cl=payment&payerror=4.
Please call/write to alertpay support to solve this problem.
2. Once the redirection to alertpay happens, there are 3 possible
results:
User payment succeeds
User payment fails
User cancels operation
In these cases, I want to redirect back to either the 'thankyou' page or
the 'choose payment method' page with an error message. For the payment
method page, I guess I can redirect to
http://oxid.localhost/index.php?cl=payment&payerror=4, but how do I
display a custom error message? And in the case of success, what is the
URL to display the thank you page?
I think you are talking about "ap_returnurl" and "ap_cancelurl"
parameters.
So "ap_returnurl" should look like
"http://shop.com/index.php?cl=order&fnc=processalertPay&sid=xxx"
so it redirects back to order class and executes "processalertPay"
function, which
should check the result - probably alertpay adds some parameters to
redirect url which can be processed?
No, it does not. If it requests ap_returnurl, then that means the
transaction was successful. If it requests ap_cancelurl, then that means
ths user cancelled the transaction. There does not seem to be any way to
signal that the transaction failed, although I have posted a message in
their forum asking about this. From what I understand, if the transaction
fails (eg: card declined) the user is given an opportunity to re-enter the
CC data again on the alertpay site itself and this continues until either
the transaction is successful or the user cancels.
This is definitely not one of the best payment systems around, I guess :)
If alertpay does not inform about failed payment there is no way to detect
it.
Please check out its documentation or call to support.
Vikram
_______________________________________________
dev-general mailing list
[email protected]
http://dir.gmane.org/gmane.comp.php.oxid.general
_______________________________________________
dev-general mailing list
[email protected]
http://dir.gmane.org/gmane.comp.php.oxid.general