Closed meyerdarcie closed 4 months ago
Notes from refinement May 28, 2024:
New ticket: bcgov/reserve-rec-public#10
Payment processor POC now lives at https://github.com/bcgov/reserve-rec-admin/tree/payment-processor-poc. Follow the README to setup the POC on local machines.
Because this ticket turned more into a comparison between Bambora and Stripe, the POC is in a very rough draft state. It investigates how data might flow from a public facing payment terminal to an administrative portal, but a practical implementation of a payment processor may look very different.
Moving to done. I will take over exploration/approval/compliance advocating for Stripe over Bambora, and create any technical tickets for future sprints as we go.
Description:
As a park visitor, I want to be able to pay for my backcountry camping experience online so that I do not need to pay in the parking lot and can secure a reservation.
Payment processing is necessary for next iteration of reservation service components and a pattern we have not yet done - hence the idea for trying this out as a prototype. This prototype will be used for testing with users and adding to future prototypes of larger workflows (eg. full bookings). It is meant to be iterated and improved upon.
This ticket is to look into stripe as an option.
Use cases for prototype:
happy path - success all is correct no errors wrong info entered (error) (for MVP, just generic errors)
no credit available (error) bots (likely not a thing)
Acceptance Criteria:
Given I am a visitor who wants to purchase something When I click to purchase an item Then I am taken to a payment screen/form where I can enter my information to pay.
Given I am a visitor who wants to purchase something When I fill out my payment info correctly and have credit and click submit/buy/purchase/next Then I get confirmation of my successful payment via text on the next screen.
Given I am a visitor who wants to purchase something When I fill out my payment info incorrectly and click submit/buy/purchase/next Then I get an error message saying my info is incorrect and can try again.
Given I am a visitor who wants to purchase something When I am trying to use an invalid credit card and click submit/buy/purchase/next Then I get an error message saying the card is invalid and can try again.
Given I am a visitor who wants to purchase something When I am trying to use a maxed out credit card and click submit/buy/purchase/next Then I get an error message saying the card is maxed and can try again.
Given I am a robot When I am trying to spam the site by clicking purchase Then I get turned away.
Development Checklist:
Dependencies
Wireframe(s):
Workflows:
Prototype will be scoped to just payment portion of workflow:
Notes:
for prototype, let's not look at the scenario of losing wifi mid process
Definition of Ready (Note: If any of these points are not applicable, mark N/A)
Definition of Done
In progress:
[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] UI meets accessibility requirements
[ ] Unit tests are written
[x] Work is traceable in GitHub
[ ] PR linked to ticket number
[ ] If needed/required - Dev adds flag/label to highlight any migration steps necessary prior to PROD deployment
Code review:
[ ] Code is peer reviewed and has passed CI/CD tests
QA:
[x] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Code is potentially shippable to the production environment
[ ] Functional features have been tested and passed by QA
[ ] UI components tested by designer
[ ] Code is deployed to PROD when moved to 'done' column (unless requested otherwise by PO)
PO Review:
[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Reviewed and approved by Product Owner