a
    Qx_                     @   sP   d dl 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 )    N)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   s   d}d |  |S )Nz0webapps/auth/protocol/openidconnect/v1/authorizezhttps://www.{0}/{1}format_get_endpointselfpath r   d/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/paypal/views.pyauthorize_url   s    z!PaypalOAuth2Adapter.authorize_urlc                 C   s   d}d |  |S )Nz&v1/identity/openidconnect/tokenservicehttps://api.{0}/{1}r   r   r   r   r   access_token_url   s    z$PaypalOAuth2Adapter.access_token_urlc                 C   s   d}d |  |S )Nz"v1/identity/openidconnect/userinfor   r   r   r   r   r   profile_url   s    zPaypalOAuth2Adapter.profile_urlc                 C   s&   |    }|ddkrdS dS d S )NZMODEZlivez
paypal.comzsandbox.paypal.com)get_providerZget_settingsget)r   settingsr   r   r   r
      s    z!PaypalOAuth2Adapter._get_endpointc                 K   s.   t j| jd|dd}| }|  ||S )NZopenid)ZschemaZaccess_token)params)requestspostr   jsonr   Zsociallogin_from_response)r   requestZapptokenkwargsresponse
extra_datar   r   r   complete_login&   s    z"PaypalOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   idZprovider_idZsupports_statepropertyr   r   r   r
   r    r   r   r   r   r      s   


r   )r   Z,allauth.socialaccount.providers.oauth2.viewsr   r   r   Zproviderr   r   Zadapter_viewZoauth2_loginZoauth2_callbackr   r   r   r   <module>   s
   #
