o
    LfG                     @   sT   d dl mZ d dlmZmZmZ ddlmZ G dd deZe	eZ
e	eZdS )    )get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )PaypalProviderc                   @   sJ   e Zd ZejZdZedd Zedd Z	edd Z
dd	 Zd
d ZdS )PaypalOAuth2AdapterFc                 C      d}d |  |S )Nz0webapps/auth/protocol/openidconnect/v1/authorizezhttps://www.{0}/{1}format_get_endpointselfpath r   m/var/www/html/humari/django-venv/lib/python3.10/site-packages/allauth/socialaccount/providers/paypal/views.pyauthorize_url      z!PaypalOAuth2Adapter.authorize_urlc                 C   r	   )Nz&v1/identity/openidconnect/tokenservicehttps://api.{0}/{1}r
   r   r   r   r   access_token_url   r   z$PaypalOAuth2Adapter.access_token_urlc                 C   r	   )Nz"v1/identity/openidconnect/userinfor   r
   r   r   r   r   profile_url   r   zPaypalOAuth2Adapter.profile_urlc                 C   s"   |    }|ddkrdS dS )NMODElivez
paypal.comzsandbox.paypal.com)get_providerget_settingsget)r   settingsr   r   r   r      s   z!PaypalOAuth2Adapter._get_endpointc                 K   s4   t   j| jd|dd}| }|  ||S )Nopenid)schemaaccess_token)params)r   get_requests_sessionpostr   jsonr   sociallogin_from_response)r   requestapptokenkwargsresponse
extra_datar   r   r   complete_login%   s   z"PaypalOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   idprovider_idsupports_statepropertyr   r   r   r   r+   r   r   r   r   r      s    


r   N)allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   providerr   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
'