createCardToken method
Creates a token for the specified card.
Implementation
Future<String> createCardToken({
required String requestId,
required Card card,
String? realmId,
String? authToken,
}) async {
authToken ??= authenticationService.getCachedToken()?.access_token;
realmId ??= authenticationService.getCachedRealmId();
Map<String, String> headers = {
"Request-ID": requestId,
"Authorization": "Bearer ${authToken ?? ""}",
'Content-Type': 'application/json',
//'Accept': 'application/json',
};
Uri endpoint = Uri.https(baseUrl, "/quickbooks/v4/payments/tokens");
//print(endpoint.toString());
var response = await http.post(endpoint,
headers: headers, body: jsonEncode({
"card": card.toJson()
}));
if (response.statusCode == 200 || response.statusCode == 201) {
//print(response.body);
return jsonDecode(response.body)["value"];
} else {
throw TokenException(
statusCode: response.statusCode, message: response.body);
}
}