|
|
Line 30: |
Line 30: |
| * API and JWT testing to ensure the JS API handles general valid and invalid input cases with the right success/error callbacks | | * API and JWT testing to ensure the JS API handles general valid and invalid input cases with the right success/error callbacks |
| * End-to-End functional testing with mozPay and trustworthy UI isolating marketplace bits out - Ensure trustworthy UI use cases work as expected | | * End-to-End functional testing with mozPay and trustworthy UI isolating marketplace bits out - Ensure trustworthy UI use cases work as expected |
|
| |
| == Edge Cases ==
| |
|
| |
| * Multiple payments chained together
| |
| * Different payment providers (i.e. JWT typ), valid vs. invalid
| |
| * Payment Provider Server Downtime or Failure
| |
| * Invalid JWT requests
| |
| * Switching app contexts post the call of mozPay
| |
| * Interception and altering of content to be rendered within trustworthy UI chrome
| |
| * Valid vs. invalid application keys
| |
| * Expired vs. Non-Expired Payment Requests and Refunds
| |
| * Different country codes
| |
| * Different locale text with JWT request
| |
| * Optional vs. required parameters for JWT request
| |
| * Default pricing vs. locale-specific pricing
| |
| * Different country currencies
| |
| * Completed vs. Canceled Purchases
| |
| * Marketplace Server Downtime or Failure
| |
| * Registered application for in-app payments vs. non-registered
| |
| * Valid vs. invalid postback and chargeback URLs on successful payments and refunds
| |
| * Default price vs. no default price
| |
| * Valid vs. invalid amounts
| |
| * Application server response vs. invalid response vs. no response on transaction response confirmation
| |
| * Successful vs. unsuccessful authentication
| |
| * Valid vs. invalid transaction IDs for a refund
| |
| * Masquerading as a valid seller, when in reality the seller is not the one to receive the purchase in app X
| |
| * Masquerading as a valid buyer, when in reality the buyer is not the one making the purchase from X account
| |
| * Replaying of in-app purchase requests and refunds multiple times
| |
|
| |
|
| == Signoff Criteria == | | == Signoff Criteria == |