学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Django3.2 | クラウドソーシングアプリの構築 | 51 | PayPalアカウント

↓↓クリックして頂けると励みになります。


50 | 取引の更新】 << 【ホーム】 >> 【52 | 報酬支払いの実装


PayPal Developerにアクセスし、アカウントでログインしてください。
developer.paypal.com


ダッシュボードではSandBoxになっているのが分かります。
これは開発環境であることを意味します。

開発環境
開発環境



「Sandbox accounts」をクリックします。

Sandbox accountsをクリック
Sandbox accountsをクリック



「Personal」と「Business」の2つのアカウントを作成しておいてください。

「Personal」と「Business」
「Personal」と「Business」



「Create App」で新しいアプリケーションを作成します。

新しいアプリケーションを作成
新しいアプリケーションを作成



アプリ名、タイプは「Merchant」、Sandbox Accountは作成したビジネスアカウントを選択しアプリケーションを作成します。

入力して作成
入力して作成



アプリの「Client ID」と「Secret key」が表示されれば準備完了です。

IDとキー表示
IDとキー表示



DjangoにPayPalをインストールします。
コマンド
pip install paypalrestsdk==1.13.1

pip install paypalrestsdk
pip install paypalrestsdk



バージョンを確認します。
コマンド
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 | 報酬支払いの実装