File a Dispute

File a Dispute provides a simple user experience where the user selects disputable transaction(s) and answers questions based on the selected transaction(s). The account holder must be authenticated before accessing the micro app and linking filing disputes.

File Dispute has two versions:

  • Dispute_account_id: Uses accountId to file a dispute.
  • Legacy_2: Uses cardId to file a dispute.
    Note that this version also requires the user to confirm the card holder’s address in addition to selecting disputable transactions and answering questions.

Web SDK

This part of the document provides information on using the File a Dispute micro app with the Web SDK.

Usage - Legacy_2 Version

You provide fileDisputeas the purpose to use this micro app as shown in the sample code below:

await NetspendSDK.microApp.open({  
  purpose: 'fileDispute',  
  passcode: 'abcd1234',  
  params: {  
	  cardId: cardIdToFileDispute  
  },  
  onStateChange(event, data) {  
	// Handle when the micro app state is changed.  
  },  
  onEvent(event, data) {  
	// Some event happened that you may want to track.  
	window.console.log('event emitted', event, data);  
  }  
});  

Usage - Dispute_account_id Version

Usage for the Dispute_account_id version is similar to the Legacy_2 version, but the params object receives accountId instead of cardId.

The below code snippet illustrates its usage.

  params: {  
	  accountId: accountIdToFileDispute  
  },  

Parameters

Parameter"File a Dispute" Versions Available InDescription
accountIdDispute_account_idThe Netspend-provided account identifier for which the user wants to file dispute(s).
cardIdLegacy_2The Netspend provided card Identifier that the account holder wants to activate.
passCodeLegacy_2,
Dispute_account_id
The Netspend-provided one-time Auth Token.

Branding

The following optional branding can be provided at the initial NetspendSdk.shared.initialize call.

BrandingDescription
mfeFileDispute.checkMarkClaimImageImage on submit claim screen indicating that dispute claim has been created. Should be an image data URL. Default image size is 78x78 px.

Customer Service Number

The branding.phoneNumber property is the customer service number to be displayed in error screens so that the consumer can contact customer care.

Example (Applies to both “File a Dispute” Versions)

await NetspendSDK.microApp.initialize({  
  container: HTMLElement,  
  sdkId: string,  
  theme: NetspendSdkTheme,  
    branding: {  
      'branding': {'phoneNumber': '1-800-267-7080'}  
    }  
});

Events

Event"File a Dispute" Versions Available InDescription
started Legacy_2
Dispute_account_id
The File a Dispute UI loaded and can be used by user
failedToStartLegacy_2
Dispute_account_id
The File a Dispute UI failed to load for the user
editInformationRequestedLegacy_2The user needs to change their information
informationChangeSuccessLegacy_2The user successfully changed the information for their account
informationChangeFailedLegacy_2The user failed to change information for their account
informationComfirmed Legacy_2The user confirmed that the cardholder information shown is correct
disputableTransactionsSelectedLegacy_2
Dispute_account_id
The user selected disputable transaction(s), they want to file dispute for
fileDisputeSucceededLegacy_2
Dispute_account_id
The request to file a dispute has successfully occurred
fileDisputeFailedLegacy_2
Dispute_account_id
The request to file a dispute failed for some reason
disputeClaimGeneratedLegacy_2
Dispute_account_id
The dispute claim has been created

Errors

Error"File a Dispute" Versions Available InDescription
failedToStartLegacy_2
Dispute_account_id
The SDK failed to initialize the UI.
serviceUnaccessibleLegacy_2
Dispute_account_id
The API cannot be accessed.

Android SDK

This part of the document provides information on using the File a Dispute micro app with the Android SDK.

Usage - Legacy_2 Version

You provide fileDisputeas the purpose to use this micro app as shown in the sample code below:

await NetspendSDK.microApp.open({
  purpose: 'fileDispute',
  passcode: 'abcd1234',
  params: {
    cardId: cardIdToFileDispute
  },
  onStateChange(event, data) {
    // Handle when the micro app state is changed.
    },
    onEvent(event, data) {
      // Some event happened that you may want to track.
      window.console.log('event emitted', event, data);
    }
});

Usage - Dispute_account_id Version

Usage for the Dispute_account_id version is similar to the Legacy_2 version, but the params object receives accountId instead of cardId.

The below code snippet illustrates its usage.

params: {
   accountId: accountIdToFileDispute
},

Parameters

See Parameters above for the details.

Branding

See Branding above for the details.

Customer Service Number

The branding.phoneNumber property is the customer service number to be displayed in error screens so that the consumer can contact customer care.

Example (Applies to both “File a Dispute” Versions)

await NetspendSDK.microApp.initialize({
  container: HTMLElement,
  sdkId: string,
  theme: NetspendSdkTheme,
    branding: {
     'branding': {'phoneNumber': '1-800-267-7080'}
	}
});

Events

See Events above for the details.

Errors

See Errors above for the details.

iOS SDK

This part of the document provides information on using the File a Dispute micro app with iOS SDK.

Usage - Legacy_2 Version

let netspendViewController = NetspendSdk.shared.openWithPurpose(  
    purpose: "fileDispute",  
    withPasscode: "abcd1234",  
    usingParams: [  
        "cardId": cardIdToFileDispute  
    ]  
)

netspendViewController.delegate = self  
present(netspendViewController, animated: true)  
// OR  
// navigationController?.pushViewController(netspendViewController, animated: true)  
// OR any other standard UIViewController presentation mechanism

Usage - Dispute_account_id Version

You provide disputeLeanas the purpose to use this micro app as shown in the sample code below:

let netspendViewController = NetspendSdk.shared.openWithPurpose(
    purpose: "disputeLean",
    withPasscode: "abcd1234",
    usingParams: [
        "accountId": accountIdToFileDispute
    ]
)

netspendViewController.delegate = self
present(netspendViewController, animated: true)
// OR
// navigationController?.pushViewController(netspendViewController, animated: true)
// OR any other standard UIViewController presentation mechanism

Parameters

See Parameters above for the details.

Branding

See Branding above for the details.

Customer Service Number

The branding.phoneNumber property is the customer service number to be displayed in error screens so that the consumer can contact customer care.

Example - Legacy_2 Version

NetspendSdk.shared.initialize(  
  sdkID: String,  
  theme: NetspendSdkTheme  
  branding: [  
    "mfeFileDispute": [  
      "checkMarkClaimImage": checkMarkClaimImageDataUrl  
    ],  
    "branding": ["phoneNumber": "1-800-267-7080"]  
  ]  
)

Example - Dispute_account_id Version

NetspendSdk.shared.initialize(
  sdkID: String,
  theme: NetspendSdkTheme
  branding: [
    "branding": ["phoneNumber": "1-800-267-7080"]
  ]
)

Events

See Events above for the details.

Errors

See Errors above for the details.

File a Dispute Micro App Sample Screen