domits1 / Domits

the domits repository
5 stars 0 forks source link

Payments main #163

Open Timmhart opened 9 months ago

Timmhart commented 9 months ago

Main issue

Host Payments

Host Dashboard Payments

Guest Payments

Guest Dashboard Payments

Web: Transaction process + Payment integration

Transaction process: On-site messaging tools Notifications (email integration/SMS integration/push notifications) Pricing options (fixed/dynamic/seasonal/negotiation, add-ons) Cancellation policies Automatic expiration Charging a commission Delayed payouts and refund management Invoicing Reviews after transaction

Transaction process documentation: https://www.sharetribe.com/docs/concepts/transaction-process/

Payment integration: Stripe: As a payment gateway with support for the geographies, payment methods, and currencies Build an integration with the help of Redirect URLs and Return URLs, Webhooks, or API access. Seller-onboarding flow that fulfills Know Your Customer (KYC) requirements Authorize and capture payments Handle 3D Security / Strong Customer Authentication Refund Delayed payout Split payment between the seller and the marketplace

Payment integration documentation: https://stripe.com/nl/connect https://www.sharetribe.com/docs/concepts/payments-overview/ Taxes PDF receipts

MC38-03 commented 8 months ago

Afgelopen periode:

Nu zit deze Secret Key veilig in de environment variables van de Lambda function genaamd CreateStripeAccount.

Om Stripe te laten werken in deze Lambda function, heb ik een Layer moeten gebruiken. Dat houdt in een zip file waarin de node.js files zitten en de bijbehorende Stripe package die je dan importeerd als Layer.

De code in de Lambda function maakt een onboarding link aan voor de Connect account met de Email van de persoon die het gaat maken. Deze link wordt vervolgens via de HostOnboardingAPI weer gestuurd naar de front-end, waar de user wordt gestuurd naar de link.

Vervolgens de code in de lambda function aangepast zodat deze account_id's van de aangemaakte Stripe Connect accounts worden opgeslagen in DynamoDB.

Daarvoor was weer een IAM policy nodig, die toestemming gaf aan de Lambda function om records te zetten in DynaomoDB.

Daarbuiten is er een tweede Lambda function die ook een layer heeft voor Stripe. Deze maakt de betalingen zelf aan. Deze heeft ook zijn eigen API en connectie met de front-end. De test versie werkt door een vooraf ingesteld account_id te gebruiken. Maar dat gaan we natuurlijk dynamisch maken.

Komende periode:

MC38-03 commented 5 months ago
TimSeijlhouwer commented 5 months ago

-Van testmodus naar live modus -Bedrag met komma naar juiste bedrag aanpassen (gefixed) -Nieuwe designs binnen dynamic payment conformation and decline page -Kijken of gevoelige informatie niet in de console terecht komt of ergens anders