0
このエラー:このメソッドの実行中にcancel_agreement() missing 1 required positional argument: 'agreement_id'
奇妙なPythonのエラー
が登場:ここ
def force_cancel(self):
api = model_from_ref(self.processor.api)
api.cancel_agreement(self.subscription_reference)
# transaction.cancel_subscription() # runs in the callback
はcancel_agreement()
方法である:それを:
def cancel_agreement(self, agreement_id, is_upgrade=False):
note = _("Upgrading billing plan") if is_upgrade else _("Canceling a service")
r = self.session.post(self.server + '/v1/payments/billing-agreements/%s/cancel' % agreement_id,
data='{"note": "%s"}' % note,
headers={'content-type': 'application/json'})
if r.status_code != requests.codes.ok:
raise RuntimeError(_("Cannot cancel a billing agreement at PayPal. Please contact support."))
エラーが発生した理由を私は理解していません2つの引数を持つ関数(api
とself.subscription_reference
)を呼び出しており、その定義も2つの必須引数です(self
とagreement_id
)。
悲しいことに、私のビジネスパートナーはオープンソースをリリースしないため、コード全体を表示することはできません。
'cancel_aggrement'は' self'によって呼び出されなければなりません。 'api'ではありません。右? –
'force_cancel'メソッドを所有するクラスと' api'の関係は何ですか? 'type(api)'とは何ですか? –
'cancel_agreement'が存在するclassの' api'インスタンスは存在しますか? – Afaq