feat(stripe): add support for afterpay clearpay through stripe (#441)

This commit is contained in:
Narayan Bhat
2023-01-25 21:13:21 +05:30
committed by GitHub
parent ecd0ca53b9
commit 351087fc7f
6 changed files with 173 additions and 90 deletions

View File

@ -321,14 +321,20 @@ pub struct CCard {
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
#[serde(rename_all = "snake_case")]
pub enum KlarnaRedirectIssuer {
Stripe,
pub enum KlarnaIssuer {
Klarna,
}
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
#[serde(rename_all = "snake_case")]
pub enum KlarnaSdkIssuer {
Klarna,
pub enum AffirmIssuer {
Affirm,
}
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
#[serde(rename_all = "snake_case")]
pub enum AfterpayClearpayIssuer {
AfterpayClearpay,
}
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
@ -337,7 +343,7 @@ pub enum PayLaterData {
/// For KlarnaRedirect as PayLater Option
KlarnaRedirect {
/// The issuer name of the redirect
issuer_name: KlarnaRedirectIssuer,
issuer_name: KlarnaIssuer,
/// The billing email
billing_email: String,
// The billing country code
@ -345,16 +351,27 @@ pub enum PayLaterData {
},
/// For Klarna Sdk as PayLater Option
KlarnaSdk {
/// The issuer name of the redirect
issuer_name: KlarnaSdkIssuer,
/// The issuer name of the sdk
issuer_name: KlarnaIssuer,
/// The token for the sdk workflow
token: String,
},
/// For Affirm redirect flow
/// For Affirm redirect as PayLater Option
AffirmRedirect {
/// The billing email address
/// The issuer name of affirm redirect issuer
issuer_name: AffirmIssuer,
/// The billing email
billing_email: String,
},
/// For AfterpayClearpay redirect as PayLater Option
AfterpayClearpayRedirect {
/// The issuer name of afterpayclearpay redirect issuer
issuer_name: AfterpayClearpayIssuer,
/// The billing email
billing_email: String,
/// The billing name
billing_name: String,
},
}
#[derive(Debug, Clone, Eq, PartialEq, Default, serde::Deserialize, serde::Serialize, ToSchema)]