refreshToken method

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

Refreshes an expired access token using a refresh token.

Implementation

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

  return apiClient.post<OAuthTokenResponse>(
    {
      'url': '/token',
      'data': requestParams.toJson(),
    },
    fromJsonFactory: OAuthTokenResponse.fromJson,
    callback: callback,
  );
}