1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
from typing import Optional
from typing_extensions import TYPE_CHECKING
from stripe._util import merge_dicts
from stripe._stripe_object import StripeObject
from stripe._api_mode import ApiMode
if TYPE_CHECKING:
from stripe._payment_intent import PaymentIntent
from stripe._setup_intent import SetupIntent
from stripe._source import Source
from stripe._payment_method import PaymentMethod
class ErrorObject(StripeObject):
charge: Optional[str]
code: Optional[str]
decline_code: Optional[str]
doc_url: Optional[str]
message: Optional[str]
param: Optional[str]
payment_intent: Optional["PaymentIntent"]
payment_method: Optional["PaymentMethod"]
setup_intent: Optional["SetupIntent"]
source: Optional["Source"]
type: str
def refresh_from(
self,
values,
api_key=None,
partial=False,
stripe_version=None,
stripe_account=None,
last_response=None,
*,
api_mode: ApiMode = "V1",
):
return self._refresh_from(
values=values,
partial=partial,
last_response=last_response,
requestor=self._requestor._replace_options(
{
"api_key": api_key,
"stripe_version": stripe_version,
"stripe_account": stripe_account,
}
),
api_mode=api_mode,
)
def _refresh_from(
self,
*,
values,
partial=False,
last_response=None,
requestor,
api_mode: ApiMode,
) -> None:
# Unlike most other API resources, the API will omit attributes in
# error objects when they have a null value. We manually set default
# values here to facilitate generic error handling.
values = merge_dicts(
{
"charge": None,
"code": None,
"decline_code": None,
"doc_url": None,
"message": None,
"param": None,
"payment_intent": None,
"payment_method": None,
"setup_intent": None,
"source": None,
"type": None,
},
values,
)
return super(ErrorObject, self)._refresh_from(
values=values,
partial=partial,
last_response=last_response,
requestor=requestor,
api_mode=api_mode,
)
class OAuthErrorObject(StripeObject):
def refresh_from(
self,
values,
api_key=None,
partial=False,
stripe_version=None,
stripe_account=None,
last_response=None,
*,
api_mode: ApiMode = "V1",
):
return self._refresh_from(
values=values,
partial=partial,
last_response=last_response,
requestor=self._requestor._replace_options(
{
"api_key": api_key,
"stripe_version": stripe_version,
"stripe_account": stripe_account,
}
),
api_mode=api_mode,
)
def _refresh_from(
self,
*,
values,
partial=False,
last_response=None,
requestor,
api_mode: ApiMode,
) -> None:
# Unlike most other API resources, the API will omit attributes in
# error objects when they have a null value. We manually set default
# values here to facilitate generic error handling.
values = merge_dicts(
{"error": None, "error_description": None}, values
)
return super(OAuthErrorObject, self)._refresh_from(
values=values,
partial=partial,
last_response=last_response,
requestor=requestor,
api_mode=api_mode,
)
|