Source code for web_payments_dummy.forms


from wtforms import SelectField, ValidationError, validators

from web_payments.forms import PaymentForm
from web_payments import FraudStatus, PaymentStatus

__all__ = ["DummyForm"]

[docs]class DummyForm(PaymentForm): RESPONSE_CHOICES = ( ('3ds-disabled', '3DS disabled'), ('3ds-redirect', '3DS redirect'), ('failure', 'Gateway connection error'), ('payment-error', 'Gateway returned unsupported response') ) status = SelectField(choices=PaymentStatus.CHOICES, validators=[validators.InputRequired()]) fraud_status = SelectField(choices=FraudStatus.CHOICES, validators=[validators.InputRequired()]) gateway_response = SelectField(choices=RESPONSE_CHOICES, validators=[validators.InputRequired()]) verification_result = SelectField(choices=PaymentStatus.CHOICES+[("", "")])
[docs] def validate(self): if self.gateway_response.data == '3ds-redirect' and not self.verification_result.data: self.errors["gateway_response"] = ['When 3DS is enabled you must set post validation status'] return super().validate()