createToken method

Future<TokenInfo> createToken(
  1. CardInfo card
)

Create a token from card data

Implementation

Future<TokenInfo> createToken(CardInfo card) async {
  String basicAuth = 'Basic ' + base64Encode(utf8.encode('$apiKey:'));
  Response response = await post(Uri.parse('$_merchantBaseUrl/tokens'), headers: {
    'Content-type': 'application/json',
    'Authorization': basicAuth,
    'Accept': 'application/json',
  }, body: """{
    "card_number": "${card.cardNumber}",
    "holder_name": "${card.holderName}",
    "expiration_year": "${card.expirationYear}",
    "expiration_month": "${card.expirationMonth}",
    "cvv2": "${card.cvv2}"
  }""");

  if (response.statusCode == 201) {
    return TokenInfo._fromBackend(jsonDecode(response.body));
  } else {
    throw Exception('Error ${response.statusCode}, ${response.body}');
  }
}