Skip to content

SudoSOS Back-end API / stripe / StripeService

Class: StripeService ​

Extends ​

Constructors ​

Constructor ​

ts
new StripeService(manager?): StripeService;

Parameters ​

ParameterType
manager?EntityManager

Returns ​

StripeService

Overrides ​

WithManager.constructor

Properties ​

PropertyModifierTypeInherited from
managerprotectedEntityManagerWithManager.manager

Methods ​

constructWebhookEvent() ​

ts
constructWebhookEvent(body, signature): Promise<Event>;

Validate a Stripe webhook event

Parameters ​

ParameterTypeDescription
bodyany-
signaturestring | string[]-

Returns ​

Promise<Event>


createNewPaymentIntentStatus() ​

ts
createNewPaymentIntentStatus(paymentIntentId, state): Promise<StripePaymentIntentStatus>;

Create a new deposit status

Parameters ​

ParameterTypeDescription
paymentIntentIdnumber-
stateStripePaymentIntentState-

Returns ​

Promise<StripePaymentIntentStatus>


createStripePaymentIntent() ​

ts
createStripePaymentIntent(user, amount): Promise<{
  clientSecret: string;
  deposit: StripeDeposit;
}>;

Create a payment intent and save it to the database

Parameters ​

ParameterTypeDescription
userUserUser that wants to deposit some money into their account
amountDineroThe amount to be deposited

Returns ​

Promise<{ clientSecret: string; deposit: StripeDeposit; }>

The created deposit entity and the Stripe client secret


getPaymentIntent() ​

ts
getPaymentIntent(stripeId): Promise<StripePaymentIntent>;

Get a payment intent with the given ID, if it exists

Parameters ​

ParameterTypeDescription
stripeIdstring-

Returns ​

Promise<StripePaymentIntent>


handleWebhookEvent() ​

ts
handleWebhookEvent(event): Promise<void>;

Handle the event by making the appropriate database additions

Parameters ​

ParameterTypeDescription
eventEvent{Stripe.Event} Event received from Stripe webhook

Returns ​

Promise<void>


asStripeDepositResponse() ​

ts
static asStripeDepositResponse(deposit): StripeDepositResponse;

Parameters ​

ParameterType
depositStripeDeposit

Returns ​

StripeDepositResponse


getProcessingStripeDepositsFromUser() ​

ts
static getProcessingStripeDepositsFromUser(userId): Promise<StripeDeposit[]>;

Parameters ​

ParameterType
userIdnumber

Returns ​

Promise<StripeDeposit[]>


getStripeDeposit() ​

ts
static getStripeDeposit(id, relations?): Promise<StripeDeposit>;

Parameters ​

ParameterTypeDefault value
idnumberundefined
relationsstring[][]

Returns ​

Promise<StripeDeposit>


validateStripeRequestMaximumAmount() ​

ts
static validateStripeRequestMaximumAmount(balance, request): boolean;

Topup should be at most 150 euros minus user's positive balance or user's negative balance.

Parameters ​

ParameterTypeDescription
balanceBalanceResponse-
requestStripeRequest-

Returns ​

boolean


validateStripeRequestMinimumAmount() ​

ts
static validateStripeRequestMinimumAmount(balance, request): boolean;

Topup should be at least 10 euros or the user's negative balance.

Parameters ​

ParameterTypeDescription
balanceBalanceResponse-
requestStripeRequest-

Returns ​

boolean