↓↓クリックして頂けると励みになります。
【50 | 取引の更新】 << 【ホーム】 >> 【52 | 報酬支払いの実装】
PayPal Developerにアクセスし、アカウントでログインしてください。
developer.paypal.com
ダッシュボードではSandBoxになっているのが分かります。
これは開発環境であることを意味します。
「Sandbox accounts」をクリックします。
「Personal」と「Business」の2つのアカウントを作成しておいてください。
「Create App」で新しいアプリケーションを作成します。
アプリ名、タイプは「Merchant」、Sandbox Accountは作成したビジネスアカウントを選択しアプリケーションを作成します。
アプリの「Client ID」と「Secret key」が表示されれば準備完了です。
DjangoにPayPalをインストールします。
コマンド
pip install paypalrestsdk==1.13.1
バージョンを確認します。
コマンド
pip freeze > requirements.txt
内容確認 【Desktop/crowdsource/requirements.txt】
asgiref==3.7.2 beautifulsoup4==4.12.2 CacheControl==0.13.1 cachetools==5.3.1 certifi==2023.7.22 cffi==1.15.1 chardet==3.0.4 charset-normalizer==3.2.0 cryptography==41.0.3 defusedxml==0.7.1 Django==3.2.20 django-bootstrap4==2.3.1 firebase-admin==4.4.0 google-api-core==1.34.0 google-api-python-client==2.97.0 google-auth==2.22.0 google-auth-httplib2==0.1.0 google-cloud-core==2.3.3 google-cloud-firestore==2.11.1 google-cloud-storage==2.10.0 google-crc32c==1.5.0 google-resumable-media==2.5.0 googleapis-common-protos==1.60.0 grpcio==1.57.0 grpcio-status==1.48.2 httplib2==0.22.0 idna==2.10 msgpack==1.0.5 oauthlib==3.2.2 paypalrestsdk==1.13.1 Pillow==10.0.0 proto-plus==1.22.3 protobuf==3.20.3 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycparser==2.21 PyJWT==2.8.0 pyOpenSSL==23.2.0 pyparsing==3.1.1 python3-openid==3.2.0 pytz==2023.3 requests==2.25.0 requests-oauthlib==1.3.1 rsa==4.9 six==1.16.0 social-auth-app-django==4.0.0 social-auth-core==4.4.2 soupsieve==2.5 sqlparse==0.4.4 stripe==2.55.1 typing_extensions==4.7.1 uritemplate==4.1.1 urllib3==1.26.16
「crowdsource/settings.py」ファイルを編集します。
ご自分の「PayPal Client ID」と「PayPal Secret key」を入れてください。
記述追加 【Desktop/crowdsource/crowdsource/settings.py】169行目(末尾)
PAYPAL_MODE = "sandbox" PAYPAL_CLIENT_ID = "Aa4j2zHhGLGNAtsyGOUN" #PayPal Client ID PAYPAL_CLIENT_SECRET = "EI3ObDGIJ2NiPdmky" #PayPal Secret key
「core/admin.py」ファイルを編集します。
記述編集 【Desktop/crowdsource/core/admin.py】
from django.contrib import admin from django.conf import settings from paypalrestsdk import configure, Payout from . import models configure({ "mode": settings.PAYPAL_MODE, "client_id": settings.PAYPAL_CLIENT_ID, "client_secret": settings.PAYPAL_CLIENT_SECRET, }) class TransactionAdmin(admin.ModelAdmin): list_display = ['stripe_payment_intent_id', 'courier_paypal_email', 'customer', 'courier', 'job', 'amount', 'status', 'created_at'] list_filter = ['status',] def customer(self, obj): return obj.job.customer def courier(self, obj): return obj.job.courier def courier_paypal_email(sefl, obj): return obj.job.courier.paypal_email if obj.job.courier else None # Register your models here. admin.site.register(models.Customer) admin.site.register(models.Courier) admin.site.register(models.Category) admin.site.register(models.Job) admin.site.register(models.Transaction, TransactionAdmin)
これでPayPalを利用する準備が整いました。
↓↓クリックして頂けると励みになります。
【50 | 取引の更新】 << 【ホーム】 >> 【52 | 報酬支払いの実装】