getAccessToken method

Future<Response<OAuthTokenResponse>> getAccessToken({
  1. required OAuthTokenRequest params,
  2. void callback(
    1. RazorpayApiException?,
    2. Response<OAuthTokenResponse>?
    )?,
})

Exchanges the authorisation code for an access token.

Implementation

Future<Response<OAuthTokenResponse>> getAccessToken({
  required OAuthTokenRequest params,
  void Function(RazorpayApiException?, Response<OAuthTokenResponse>?)?
      callback,
}) async {
  // Port validation logic if needed
  // Ensure grant_type is 'authorization_code'
  final requestParams = params.copyWith(grant_type: 'authorization_code');

  // Use the POST method from the API client
  return apiClient.post<OAuthTokenResponse>(
    {
      'url': '/token', // Endpoint relative to AUTH_HOST_URL
      'data': requestParams.toJson(),
    },
    fromJsonFactory: OAuthTokenResponse.fromJson,
    callback: callback,
  );
}