54 lines
2.7 KiB
Org Mode
54 lines
2.7 KiB
Org Mode
|
:PROPERTIES:
|
||
|
:ID: 9b3ed74d-41d4-4784-89e3-6a9183903b9e
|
||
|
:END:
|
||
|
#+title: Stripe Payments Service
|
||
|
* Overview
|
||
|
The Stripe Payments service mediates purchases made by buyers from AWeber
|
||
|
customers through the [[id:7d940785-68b9-4da7-bad1-4771d496168c][Stripe payment platform]] and delivers their goods via list
|
||
|
subscription.
|
||
|
* How It Works
|
||
|
** Ordering
|
||
|
The order endpoint prepares a [[https://stripe.com/docs/api/payment_intents][Payment Intent]] with Stripe that the buyer will pay
|
||
|
directly using Stripe's public API. The payment intent captures the amount to be
|
||
|
paid, any fees that AWeber will collect, and account and list metadata used to
|
||
|
fulfill the order.
|
||
|
*** Email validation
|
||
|
Emails are checked against the [[https://gitlab.aweber.io/CP/Services/validation][CP Email Validation Service]] to ensure they can be
|
||
|
added as subscribers successfully. The following steps are performed by the service:
|
||
|
1. Validates that the format of the submitted email address matches AWeber's
|
||
|
internal email formatting rules.
|
||
|
2. Applies address normalization to remove any ISP specific markup.
|
||
|
3. Extracts the domain-part from the normalized address and validates that there
|
||
|
are MX records for the domain-part via DNS lookup.
|
||
|
4. Checks if the both the submitted and normalized version of the email address
|
||
|
would be blocked by the blocklist.
|
||
|
|
||
|
Should the validation service fail unexpectedly or be unavailable at the time an
|
||
|
order is placed, a warning will be logged and only the email format check will
|
||
|
be performed.
|
||
|
*** CAPTCHA
|
||
|
**** Domain validation
|
||
|
***** Allowed domains
|
||
|
The following root domains provided by AWeber for [[https://confluence.aweber.io/pages/viewpage.action?pageId=118885193][Web Content (a.k.a Landing
|
||
|
Pages)]] always pass CAPTCHA domain validation:
|
||
|
|
||
|
- =aweberpages.com=
|
||
|
- =aweb.page=
|
||
|
***** Custom domains
|
||
|
All other domains are checked against the [[https://confluence.aweber.io/display/AR/Custom+Domain+Service][Custom Domain Service]] to ensure they
|
||
|
are owned and managed by the AWeber account from which the purchase is being
|
||
|
made.
|
||
|
*** Fees
|
||
|
Fees are collected for each sale as a percentage of the sale value configured in
|
||
|
the [[https://confluence.aweber.io/display/CT/Service+Limits+API][Service Limits API]] for the AWeber account, rounded to the nearest cent with
|
||
|
a minimum fee of $0.01.
|
||
|
** Fulfillment
|
||
|
*** Adding the subscriber
|
||
|
Subscribers are added to the list configured for the payment if they are not
|
||
|
already subscribed. If the subscriber is currently on the list in an unconfirmed
|
||
|
state, they will be marked as subscribed. Any tags configured for the sale will
|
||
|
be added to the subscriber.
|
||
|
*** Purchase Tracking
|
||
|
A [[https://confluence.aweber.io/display/AR/Pageview][Pageview Event]] is emitted with details of the order so that the purchase is
|
||
|
tracked in the subscriber's activity.
|