Integration with paypal redirect issue - django

I am integrating paypal with my openedx ironwood install.
To implement ecommerce capabilities - openedx ironwood uses django oscar shopping cart.
It works to the point where one can enter their credit card information and submit the form.
However after submitting the form the following error occurs
and this is the corresponding address in the address bar:
https://http/payment/paypal/execute/?paymentId=PAYID-LZWTHVY60U970153W662623L&token=EC-45D081042G524235T&PayerID=UBRT2SFRKASXL
Any idea on how I can fix this?

It appears the URL https://http/payment/paypal/execute/ was given to PayPal as the return URL, and so it tried to return there after payment approval within the PayPal checkout.
You / the django oscar shopping cart needs to pass a valid return URL to PayPal in the API call at payment creation time.

Related

OpenCart payment paypal does not working

I have a problem in my OpenCart E-com website, I added paypal payment in the admin section, but when I try to add a comment about the order while selecting a payment method, I have this issue

Prestashop - realize cart created on external site by webservice

Im using Prestashop webservice to manage cart on external site. I can create/update/delete cart and products by API, all works fine. My next step is add "realize" button, which redirect to the main shop, where user will by able to realize that cart. How can I created cart on external site show on shop? It is possible?
I will be grateful for help.
You can create a cart using webservices and add products to it. The problem is that when you redirect client to shop, even if this cart already exist in DB, shop cookies must be set and inside this encrypted Prestashop cookie should be the cart ID. So, I think you won't be able to do that.
Good luck.
Yes, that is the point. Maybe is not a perfect solution, but found the way, how to display cart created by webserice on external site.
By webservice, I created cart and order for temporary user. In history order of that user is link "reorder", whitch looks like:
http://your_presta_shop/zamowienie?submitReorder=&id_order=X
If you copy and paste that link on the any browser, you see your cart created by API.
A bit late, but hope it helps someone.
There's a way to recover a cart (tested on 1.6.18). You can use the following URL:
http://(your_shop)/order?step=3&recover_cart=(id_cart)&token_cart=(token)
id_cart is the id of your cart :)
token is calculated as follows: md5(_COOKIE_KEY_.'recover_cart_'.$id_cart); (_COOKIE_KEY comes from your config/settings.inc.php in your PrestaShop installation)
You can see that this URL is generated in this two files (not very DRY):
controllers/admin/AdminCartsController.php (look for recover_cart)
controllers/admin/AdminOrdersController.php (look for recover_cart)

Paypal loses session data

Am using django oscar paypal and django oscar-0.7, when i submit for payment page get redirected to paypal site. After continuing that step and redirecting back to my site, it shows basket is empty and all paypal session is lost. Am stuck up here. Please help me in this?
The problem was i was using get method for redirecting to paypal,later i changed that to post and it worked for me.I have used oscar for this, in that checkout view i wrote redirection in post function,which made it work

Affiliate link tracking through Paypal

A company I help out have signed up to sell their magazine and newspaper products via an online affiliate.
The affiliate link directs users to a payment page on the client site, but they are using paypal for payments which as you know takes you away from the site.
I'd updated the paypal accounts to redirect back to the client site, where the affiliate tracking code sits, but I believe because we go off to paypal in the middle of the payment, no tracking is sent back.
Essentially, I need Paypal to send a specific code (in this case the merchant ID) and the order value when it redirects.
What would be the best way of doing this?
Thanks
Tom
I would send the affiliate ID in the CUSTOM parameter of your PayPal request and then setup an IPN solution to log the transaction in your database accordingly.
The CUSTOM parameter will come back in IPN so you can easily update your system with the affiliate ID.

django-registration with paypal integration

I'm trying to figure out how to integrate django-registration with django-paypal. Being a Django n00b, I'm trying to figure out how to implement a flow like this:
User signs up using django-registation with 'active' flag set to 0
After registering, send user to PayPal for a subscription
When they come back from PayPal successfully, I want to set 'active' to 1
I've been looking at the django-registration documentation and don't quite understand how to use different backends or implement a flow the way I want.
Any tips on how to accomplish this would be greatly appreciated. django-paypal won't be a problem for me as I've done PayPal integration before (in PHP for a self-published book about CakePHP).
To have registration not send an email you pass send_email=False to the RegistrationManager.create_inactive_user call in your view to register a user. After you create the user, you probably want to create a landing page with the paypal buttons for payment. Instruct the user to click a payment button to pay. Generally I send the user.id in the custom field for the payment button.
Then, in django-paypal, use the IPN signal handlers to activate the user based on the user.id in the custom field of the IPN query. You might want to send a modified registration email at this point, welcoming the user to your site and telling them you have received payment and have activated their account, but those are details for you to define.