let gr4vy = try Gr4vy(
gr4vyId: "example",
token: "your_jwt_token",
merchantId: "merchant_123", // Set the default merchant ID
server: .sandbox,
debugMode: true
)
// Create payment methods criteria
let paymentMethods = Gr4vyBuyersPaymentMethods(
buyerId: "buyer_123",
buyerExternalIdentifier: "external_456",
sortBy: .lastUsedAt,
orderBy: .desc,
country: "US",
currency: "USD"
)
// Create request
let request = Gr4vyBuyersPaymentMethodsRequest(
paymentMethods: paymentMethods,
merchantId: "merchant_123", // Optional
timeout: 30.0
)
// Async/await
do {
let paymentMethodsList = try await gr4vy.paymentMethods.list(request: request)
print("Found \(paymentMethodsList.count) payment methods")
} catch {
print("Error fetching payment methods: \(error)")
}
// Completion handler
gr4vy.paymentMethods.list(request: request) { result in
switch result {
case .success(let paymentMethodsList):
print("Found \(paymentMethodsList.count) payment methods")
case .failure(let error):
print("Error fetching payment methods: \(error)")
}
}