Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waring coming in successful transaction #125

Open
TayyabAslam123 opened this issue Aug 2, 2022 · 14 comments
Open

Waring coming in successful transaction #125

TayyabAslam123 opened this issue Aug 2, 2022 · 14 comments

Comments

@TayyabAslam123
Copy link

My all flow was working according to my requirements and its making capturing payment accordingly via rest api till last week.
But now I am facing a issue. Actually I can use my card for multiple payments , but now on second api call it gives following message.
On my dashboard it is still capturing the payment and showing me correct transaction.

  'status' => 
  array (
    'statusCode' => 'WARNING_CONTINUE_3DS',
    'severity' => 'WARNING',
  ),
  'redirectUri' => 'https://merch-prod.snd.payu.com/front/threeds/?authenticationId=cf74bcd1-0800-4e65-b461-d3536f98c740&refReqId=4d4d68da5b2c2c537a6b756b4915acc8',
  'iframeAllowed' => true,
  'threeDsProtocolVersion' => '3DS2',
  'orderId' => 'WRHVQN6BNN220801u4uvw1fnP01',
)
@peterpp
Copy link

peterpp commented Aug 2, 2022

Same issue here. From 27.7.2022 we are receiving redirection to 3DSecure page for Apple Pay payments. If we do not process this redirection and show an error to users instead, payments are still confirmed and charged automatically on PayU/bank side. This looks like a serious bug from our point of view. I also contancted PayU technical support.

@TayyabAslam123
Copy link
Author

@peterpp
Yes exactly same thing happening with me .
My all transaction is working like before but now its giving warning instead of success message.
My all code was written against success response.
Kindly please let me know if support give you any reply.
Is this safe to use transaction with warning coming ?

@peterpp
Copy link

peterpp commented Aug 2, 2022

Is this safe to use transaction with warning coming ?

If you check transaction status and it is COMPLETED than yes.

Kindly please let me know if support give you any reply.

OK, no problem.

@TayyabAslam123
Copy link
Author

@peterpp
You are talking about to check transaction status from Dashboard ?

@peterpp
Copy link

peterpp commented Aug 2, 2022

@TayyabAslam123

You are talking about to check transaction status from Dashboard ?

Not exatly. I don't know what is your implementation, but we are doing this automatically via REST API:
https://developers.payu.com/en/restapi.html#order_data_retrieve
or you can receive transaction status in notifications:
https://developers.payu.com/en/restapi.html#notifications

@TayyabAslam123
Copy link
Author

@peterpp
Yes I am using Rest Api to make payments then check the API response and continue my working .
Till last week it gives me 'statusCode' => 'SUCCESS', and I show user that payment is successful.
But now as response is changed my code flow is effected and it started making issue.

If I use status ('statusCode' => 'SUCCESS' || 'statusCode' => 'WARNING_CONTINUE_3DS' )
is it safe , as adding these all my working is going according to flow.

Thanks

@peterpp
Copy link

peterpp commented Aug 2, 2022

@TayyabAslam123

No, condition ('statusCode' => 'SUCCESS' || 'statusCode' => 'WARNING_CONTINUE_3DS' ) is not safe to use in general.

We use this quick workaround right now:

if ($result->getStatus() == "WARNING_CONTINUE_3DS" && ($paymentMethod == PaymentMethod::APPLE_PAY || $paymentMethod == PaymentMethod::GOOGLE_PAY)) {
    for ($i = 0; $i < 4; $i++) {
        sleep(5);

        $order = $this->getOrder($response->orderId); // calls OpenPayU_Order::retrieve($orderId)

        // GOTCHA! We successfully catch card payment after 3DSecure exception.
        if ($order->getStatus() == PaymentOrder::STATUS_COMPLETED) {
            return  $response->orderId;
        }
    }
}

@TayyabAslam123
Copy link
Author

Actually I am using.

 'payMethod'=> array(
                        "type" => "CARD_TOKEN",
                        "value"=> $card_token
                    )

So I make first payment from card and save its token for payments every month.
It gives success message on my first payment and when I am capturing more payments it gives me WARNING_CONTINUE_3DS .

So I have to use both status code.

@peterpp
Copy link

peterpp commented Aug 2, 2022

@TayyabAslam123

Ohhhh, if you use recurring payments and receive WARNING_CONTINUE_3DS in subsequent payments, this is a huge bug in PayU system and I would ignore 3DSecure in your situation. And you should definitelly contact IT support as well.

@TayyabAslam123
Copy link
Author

@peterpp
Can you please tell , me where to contact IT support .
And what IT support guide you in this matter ?

@peterpp
Copy link

peterpp commented Aug 3, 2022

@TayyabAslam123
I still have no response from IT support.
I sent you an email to a address in your profile. This problem is not related to PHP client, so we don't need to discuss it here.

@TayyabAslam123
Copy link
Author

@peterpp Thank you :)
I don't understand what should I do now in such case , I have completed all my working last week , but now response against making payment changed .

Do you think implementing 3D secure functionality will solve the problem ?

@peterpp
Copy link

peterpp commented Aug 9, 2022

From IT support in short: WARNING_CONTINUE_3DS can happen if PayU doesn't know the exact authorization result at the moment of creating an order. In this case, they send redirection to a web page that just wait for a while for the result. If the order is confirmed by the bank, the page is redirected back to the service. This can by hidden in an iframe: https://developers.payu.com/en/3ds_2.html#handling_iframe

So our workaround for Apple Pay is OK, because we do the exact same thing on the backend side.

@TayyabAslam123
Copy link
Author

@peterpp
Thanks , you replied regarding that.
Actually I have tested on live domain last friday.
My all payments that are captured , are showing as a successful transaction.
But still the response remain same WARNING_CONTINUE_3DS .
Is it okay if I proceed with this ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants