Payment Methods
The Payment Methods screen selects and authorizes a payment method for an appointment request.
This screen includes:
- Payment method selector
- Wallet options
- Apple Pay
- Google Pay
- Saved card option
- Add card option
- Card input fields
- Save card toggle
- Secure payment indicator
Workflow
Payment security
The app handles all payment data through PCI-compliant providers.
Air Doctor does not store raw card details.
- Select a payment method.
- Enter details if required.
- Confirm payment.
Payment Behavior
- Process all payments through PCI-compliant providers.
- Do not store raw card data.
- Tokenize payment data before submission.
Authorization
- Trigger authorization on confirmation.
- Attach token to appointment request.
Validations
These rules enforce input accuracy and authorization readiness.
| Scenario | App behavior | SDK output |
|---|---|---|
| No payment method selected. | Block submission. | Validation error: missing payment method. |
| Card details invalid. | Display field errors. | Field validation error. |
| Wallet not supported. | Hide option. | Capability flag disabled. |
| Authorization fails. | Display error message. | Payment error response. |
| Tokenization fails. | Block submission. | Token generation error. |
Actions
| Scenario | App behavior | SDK output |
|---|---|---|
| Payment method selected. | Initialize payment flow. | Payment session created. |
| Card details submitted. | Validate and tokenize data. | Payment token generated. |
| Wallet selected. | Open native wallet flow. | Wallet authorization initiated. |
| Authorization successful. | Proceed with request. | Token attached to request. |
| Authorization failed. | Display error and allow retry. | Payment failure response. |
| Payment canceled. | Return to selection state. | No state change. |
Platform Behavior
| Platform | Apple Pay | Google Pay | Saved card | Add new card |
|---|---|---|---|---|
| Web (Chrome) | No | Yes | Yes | Yes |
| Web (Safari) | Yes | No | Yes | Yes |
| Mobile Web (Chrome) | Yes (iOS 16 and higher) | Yes | Yes | Yes |
| Android Native | No | Yes | Yes | Yes |
| iOS Native | Yes | No | Yes | Yes |