私はこのstackoverflow Q&Aを読んだが、それは私の場合にはうまくいかなかった。Django-RQ + Braintree:決済のために提出する
私のシナリオでは、優れたパッケージdjango-rq
を使用してレディスキューに機能(submit_transaction_for_settlement(transaction_id)
)をプッシュします。この機能の仕事は決済のために取引を提出することです。
サンドボックスでは、この関数が実行されるたびに同じエラーが発生します。AttributeError: type object 'Configuration' has no attribute 'environment'
。
私の機能のなかでagf
's proposal約instantiate a new gateway for each transaction
を試しましたが動作しませんでした!
多分、これはやり直しキューやワーカー環境の環境と関係がありますか?
def submit_transaction_for_settlement(transaction_id):
from braintree import Configuration, BraintreeGateway
config = Configuration(environment=settings.BRAINTREE_ENVIRONMENT, merchant_id=settings.BRAINTREE_MERCHANT_ID,
public_key=settings.BRAINTREE_PUBLIC_KEY, private_key=settings.BRAINTREE_PRIVATE_KEY)
gateway = BraintreeGateway(config=config)
result = gateway.transaction.submit_for_settlement(transaction_id)