createNewCustomer method
Used for creating a new customer on Rapyd.
Implementation
Future<Customer> createNewCustomer({
required String email,
required String name,
}) async {
late Customer customerDetails;
var method = "post";
var checkoutEndpoint = '/v1/customers';
final checkoutURL = Uri.parse(baseURL + checkoutEndpoint);
var data = jsonEncode({
"email": email,
"name": name,
"metadata": {
"merchant_defined": true,
},
});
final headers = _generateHeader(
method: method,
endpoint: checkoutEndpoint,
body: data,
);
try {
var response = await http.post(
checkoutURL,
headers: headers,
body: data,
);
if (response.statusCode == 200) {
dev.log('CUSTOMER SUCCESSFULLY CREATED');
customerDetails = Customer.fromJson(jsonDecode(response.body));
} else {
throw ('Failed to create new customer, status ${response.statusCode}');
}
} catch (e) {
dev.log('Failed to create a customer');
}
return customerDetails;
}