lookit / lookit/lookit-api

SCOPING: support for participant compensation - direct payments

Open
#1,828 0 comments 0 reactions 0 assignees View on GitHub
Feature Participant Researcher XXXL
Dominant language
Python
Stars
12
Forks
21
Avg merge
5d 19h
Merged PRs (30d)
5

Description

## Summary

Having researchers provide an e-gift card as compensation is not always ideal. One option is to provide 'points' for participation, which families could choose to redeem for things that we provide/facilitate (see #137), though that option would also require some admin overhead for managing the purchases/requests. So another option would be to support compensation as a bank transfer/deposit.

## Implementation

Payment provider:
- Stripe
- Paypal
- Square

Database:
- New table for storing every transaction: payment processor ID, user ID, amount, success/failure status
- New table for storing each compensation amount granted from researchers, which could be used to calculate the family's total account balance: study ID, response ID, child ID, amount, approving researcher ID, paid/unpaid status (or amount)

Views:
- Family-facing: balance, payment processing, payment history
- Researcher-facing: compensation page

## Issues/limitations

Do these providers support international payments? What about currency conversion charges?

Charges per transfer:
- Stripe/Square: 2.9% + 30¢, International cards cost an additional 1.5%, currency conversion adds 1%
- Paypal:

Is there a way to minimize these charges? E.g. by having a running balance per family, which they can redeem when it reaches a certain amount?

Contributor guide

Open the contributing guide

Research direction

Start by reading issue #137 and comparing the listed payment providers' support for international payments, currency conversion, and transfer fees. The issue proposes transaction and compensation records plus family and researcher views, but names no files or tests. Done requires an agreed provider, data model, payment flow, and handling of balances, fees, and international payments.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, payments
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.