Skip to content

Commit

Permalink
Added initial payment impl
Browse files Browse the repository at this point in the history
  • Loading branch information
nsantiago2719 committed Aug 16, 2023
1 parent d096608 commit e93d47d
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 6 deletions.
12 changes: 6 additions & 6 deletions payment-vault/src/payment.rs
Expand Up @@ -114,11 +114,11 @@ pub struct MetaData {

#[derive(Debug, Serialize)]
#[allow(non_snake_case)]
pub struct Payment {
struct Payment {
paymentTokenId: String,
pub totalAmount: TotalAmount,
pub buyer: Buyer,
pub redirectUrl: RedirectUrl,
pub requestReferenceNumber: String,
pub metadata: Option<MetaData>,
totalAmount: TotalAmount,
buyer: Buyer,
redirectUrl: RedirectUrl,
requestReferenceNumber: String,
metadata: Option<MetaData>,
}
23 changes: 23 additions & 0 deletions payment-vault/src/payment/payment_gateway.rs
Expand Up @@ -13,6 +13,29 @@ pub trait PaymentGateway {
async fn create_payment(&self) -> Result<Response, Box<dyn std::error::Error>>;
}

#[allow(non_snake_case)]
impl Payment {
fn new(
paymentTokenId: String,
TotalAmount: TotalAmount,
buyer: Buyer,
redirectUrl: RedirectUrl,
requestReferenceNumber: String,
metadata: Option<MetaData>,
) -> Payment {
Payment {
paymentTokenId: paymentTokenId.to_string(),
totalAmount: TotalAmount,
buyer: buyer,
redirectUrl: redirectUrl,
requestReferenceNumber: requestReferenceNumber.to_string(),
metadata: match metadata {
Some(x: MetaData) => Some(x),
None => None,
},
}
}
}
/// Implement the PaymentGateway trait to MayaClient
#[async_trait]
impl PaymentGateway for MayaClient {
Expand Down

0 comments on commit e93d47d

Please sign in to comment.