magento create order after successful payment from ccavenue - magento

I have implemented cc-avenue payment gateway in my magento store.
right now when i select ccavenue payment method while checkout it redirects to ccavenue but in backend magento create a order.
i want to create a order after successfull payment of ccavenue.
can anyone help me for this.

In magento you have to create a order before redirecting it to payment gateway. Because every payment gateway including ccavenue needs order id and few parameters related to order. What you can do is , You should stop the mail on order creation.
There is an event
sales_order_place_after
Override it and stop sending mail when you get response from your payment getway check what is coming success or failure according to that send a proper email.

Related

How to handle a error inside webhook after checkout payment

I am using Stripe Checkout(Payment intent) method in my Laravel site to get the payment from the customers and then add order to the database using webhook. What if I have an error inside the webhook while inserting to a database or any error like soldout, in this case, the customer will pay but the order will not be added to the database, how to refund to the customer if the order not completed?
How to handle this situation?

Validate whether payment was a success or failure

I am looking to use PayPal to accept a payment through my website. I am looking at the Smart Payment button option. If the payment is successful I need to update something in my website DB. How can I determine whether the payment was successful or not? I cant see anything the API docs.
I also need to retain user context with a PHP session ID. How can I pass that to the paypal site and ensure it is returned with the success / fail indicator?
Use Paypal IPN to receive payment notifications. Setup a server endpoint to respond to IPN requests and update your DB etc...
To maintain state, you will need to include a hidden input filed in your Smart Payment Button with a name of custom and a value of your choice (session id).
Setup a IPN endpoint ie: /checkout/ipn, to receive Paypal notifications. Capture the session ID with $_POST['custom'];
I ended up using the Braintree API for this use case. Ther Brantree API returns a unique payment identifier (payment Nonce) which you can then validate by submitting a call back to the Braintree API to ensure the payment was actually received properly.

Order confirmation email not working for PayPal payment method

We are not getting order confirmation email if customer placed an order through PayPal in Magento site. But we get the invoice and shipment mails.
We set Sale : Payment Action in PayPal configuration.
So once we create the order, along with the order email [it's not going to the customer] I want to send invoice mail also to customer. i=I think this extension will send invoice only once order status become complete.
Would SMTP extension work for us?
Is there anything else we need to do?

How to make monthly subscription payment by paypal in php?

I am building a web app in laravel 4.
I tried to make a monthly subscription payment via paypal.
I had added a subscribe button in my billing page.
I have tested the link. It could redirect to paypal site and ask approve.
But how does the server know the user has successfully paid?
After successfull payment paypal sends a IPN to the address u provide...By this notification your server can come to know about the payment.login to paypal account>>setting>>ipn link or url>>and set it to a php file which can recieve ipn variables and detect about the payment

How to stop magento from setting Payment-Status to "Completed" when Payment comes in via PayPal

Is there a way to stop magento setting the status of an order to "completed" after the payment comes in via PayPal?
The Problem is that I want do send an invoice when I start with the service, which is not possible when someone pays it before.
Thanks!
If I understand your problem right, try next:
In Magento PayPal settings, find field "Payment Action", and set it to "Authorization"
This mean:
payments are only authorized at the side of the PayPal system and only
an order is created in the backend of your store. The store
administrator needs log to on to the merchant account on the PayPal
site and capture the transaction.
So after order placed and user have paid transaction, status in your shop will stay at "Pending" or "Processing". After that you can generate invoice and send it to customer, and then go to your PayPal and finalize order.
Source here: http://www.magentocommerce.com/knowledge-base/entry/setting-up-paypal-for-your-magento-store/

Resources