createCheckout method

Future<String> createCheckout(
  1. Payload payload
)

Implementation

Future<String> createCheckout(Payload payload) async {
  final response = await http.post(
    Uri.parse(linksUrl),
    body: jsonEncode(payload.toMap()),
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
    },
  );
  _log.info(
    '[CheckoutService] createCheckout response: ${response.statusCode} - ${response.body}',
  );
  if (response.statusCode == 200) {
    final responseMap = jsonDecode(response.body) as Map<String, dynamic>;
    return responseMap['checkout_url'] ?? responseMap['url'] as String;
  } else {
    throw PayException(
      'Failed to create checkout',
      response.statusCode,
      response.body,
    );
  }
}