22//! =========================
33//! The Dedicated Virtual Account API enables Nigerian and Ghanaian merchants to manage unique payment accounts of their customers.
44
5- use std:: { marker:: PhantomData , sync:: Arc } ;
6-
7- use serde_json:: json;
8-
5+ use super :: BASE_URL ;
96use crate :: {
107 BankProviderData , DedicatedVirtualAccountRequest , DedicatedVirtualAccountResponseData ,
118 HttpClient , ListDedicatedAccountFilter , PaystackAPIError , PaystackResult , Response ,
129 SplitDedicatedAccountTransactionRequest ,
1310} ;
11+ use serde_json:: json;
12+ use std:: { marker:: PhantomData , sync:: Arc } ;
1413
1514#[ derive( Debug , Clone ) ]
1615pub struct DedicatedVirtualAccountEndpoints < T : HttpClient + Default > {
@@ -30,7 +29,7 @@ impl<T: HttpClient + Default> DedicatedVirtualAccountEndpoints<T> {
3029 /// # Returns
3130 /// A new DedicatedVirtualAccountEndpoints instance
3231 pub fn new ( key : Arc < String > , http : Arc < T > ) -> DedicatedVirtualAccountEndpoints < T > {
33- let base_url = String :: from ( "https://api.paystack.co/ dedicated_account") ;
32+ let base_url = format ! ( "{}/ dedicated_account", BASE_URL ) ;
3433 DedicatedVirtualAccountEndpoints {
3534 key : key. to_string ( ) ,
3635 base_url,
@@ -50,7 +49,7 @@ impl<T: HttpClient + Default> DedicatedVirtualAccountEndpoints<T> {
5049 & self ,
5150 create_dedicated_virtual_account_request : DedicatedVirtualAccountRequest ,
5251 ) -> PaystackResult < DedicatedVirtualAccountResponseData > {
53- let url = format ! ( "{}" , self . base_url) ;
52+ let url = & self . base_url ;
5453 let body = serde_json:: to_value ( create_dedicated_virtual_account_request)
5554 . map_err ( |e| PaystackAPIError :: DedicatedVirtualAccount ( e. to_string ( ) ) ) ?;
5655
@@ -79,7 +78,7 @@ impl<T: HttpClient + Default> DedicatedVirtualAccountEndpoints<T> {
7978 & self ,
8079 assign_dedicated_virtual_account_request : DedicatedVirtualAccountRequest ,
8180 ) -> PaystackResult < PhantomData < String > > {
82- let url = format ! ( "{}" , self . base_url) ;
81+ let url = & self . base_url ;
8382 let body = serde_json:: to_value ( assign_dedicated_virtual_account_request)
8483 . map_err ( |e| PaystackAPIError :: DedicatedVirtualAccount ( e. to_string ( ) ) ) ?;
8584
@@ -107,7 +106,7 @@ impl<T: HttpClient + Default> DedicatedVirtualAccountEndpoints<T> {
107106 & self ,
108107 filter : Option < ListDedicatedAccountFilter > ,
109108 ) -> PaystackResult < Vec < DedicatedVirtualAccountResponseData > > {
110- let url = format ! ( "{}" , self . base_url) ;
109+ let url = & self . base_url ;
111110 let mut query = vec ! [ ] ;
112111 // Build the query vec with the value in the filter struct
113112 if let Some ( filter) = filter {
@@ -248,7 +247,7 @@ impl<T: HttpClient + Default> DedicatedVirtualAccountEndpoints<T> {
248247 & self ,
249248 split_dedocated_account_transaction_request : SplitDedicatedAccountTransactionRequest ,
250249 ) -> PaystackResult < DedicatedVirtualAccountResponseData > {
251- let url = format ! ( "{}" , self . base_url) ;
250+ let url = & self . base_url ;
252251 let body = serde_json:: to_value ( split_dedocated_account_transaction_request)
253252 . map_err ( |e| PaystackAPIError :: DedicatedVirtualAccount ( e. to_string ( ) ) ) ?;
254253
@@ -276,7 +275,7 @@ impl<T: HttpClient + Default> DedicatedVirtualAccountEndpoints<T> {
276275 & self ,
277276 account_number : String ,
278277 ) -> PaystackResult < DedicatedVirtualAccountResponseData > {
279- let url = format ! ( "{}" , self . base_url) ;
278+ let url = & self . base_url ;
280279 let body = json ! ( {
281280 "account_number" : account_number
282281 } ) ;
0 commit comments