Amazon and/or Tango integration for participant payments
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12
- Forks
- 21
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 5
Description
TL;DR
Researchers spend a lot of time manually passing out payment codes, which is the only way we have for them to distribute amazon codes without exposing the email addresses.
More and more commonly, people are using a service like Tango to send incentives, and this requires us to have a process for allowing labs to collect email addresses to use for just that purpose.
It would be great if we had integrations to let people send payment via their lab's account, as an easier alternative to handling the payments ourselves.
Limitation/choice: "Bulk pay" might be a feature that people want, but actually I am okay not providing at the moment: unlike superfast adult studies, here usually a human is actually making the decision whether/when to send this code. If we can make it a fast process for single send action this is still an improvement for researchers over the status quo.
Three flavors of this, which could appear as a set of choices, e.g.
[ x ] Include payment
( . ) Use code or unique link (textbox)
( . ) Send from Tango (form to enter details/amount)
( . ) (maybe also) Send from Amazon (form to enter details/amount)
-
Easy/not a huge win/minimal change to current: Provide a structured text box to enter an amazon code (or whatever other one-way-transaction, no-email link!), and a template/tag of some kind they get to use in their message. Pair/fill text for the email to get sent.
-
Send from Amazon/Tango: To do this, we'd need (a) the corresponding service to have an API that supports sending an individual payment via API and (b) ability to store (encrypted at rest) credentials that the lab enters. E.g. on the lab page, in a billing section (that probably needs to get built independently of all of this!), there would be spots to "link your Amazon account" and "link your Tango account" that would require you to paste in an API key. Probably you need to be a lab admin to be allowed to do this or change it. Should permission expire periodically so people have to reauthenticate?
-
It's okay if we don't actually support anything that Tango can send but only some subset.
-
Q: Is Tango the right choice or are there other services we should consider?
-
In any case, "can send participant payment" should be a study-level permission that's either available or not available to the list of existing study roles!!!! This is an improvement over status quo where anyone can send codes (would still technically be possible with unrestricted message body, but at least there's a dedicated workflow)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by mapping the existing participant payment-code workflow, study roles, and lab settings before evaluating Amazon or Tango APIs. Done requires a decided integration scope, credential-handling approach, and study-level permission model.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- payments
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100