Trouble Discovering WisePAD

Hello all, I’m working on an Android app on a Sunmi V2 device and can’t get the Stripe WisePAD 3 reader to show up in discovery. I can connect Sunmi’s native card reader no problem, but when I switch to the WisePAD 3 it never appears. My setup: Android: compileSdk 33 / minSdk 26 / targetSdk 33 Stripe Terminal SDK: 2.23.4 Reader: WisePAD 3 (WPC32, S/N WPC323127003826) Discovery code (USB): Callback disconnectCallback = new Callback() { @override public void onSuccess() { String connectLocationId = Define.STRIPE_LOCATION_ID; DiscoveryConfiguration config = new DiscoveryConfiguration(30,DiscoveryMethod.USB,false,connectLocationId); viewModel.discoveryTask = Terminal.getInstance().discoverReaders(config, new DiscoveryListener() { @override public void onUpdateDiscoveredReaders(@NonNull List readers) { if (readers.size() > 0) { cancelDiscovery(); connectUsbReader(readers.get(0)); } } }, new Callback() { @override public void onSuccess() { viewModel.discoveryTask = null; } @override public void onFailure(@NotNull TerminalException e) { showErrorMessage("Discovery failed: " + e.getErrorMessage()); } }); } @override public void onFailure(@NotNull TerminalException e) { showErrorMessage("Failed to disconnect reader: " + e.getErrorMessage()); } }; Terminal.getInstance().disconnectReader(disconnectCallback); Questions for the community: Has anyone integrated WisePAD 3 on a Sunmi V2 (or similar industrial Android device)? Are extra Android permissions or USB host flags required? Any hidden config steps for locating readers on non-standard Android builds? Suggestions for troubleshooting deeper (e.g., enabling ADB logs on the reader)? Appreciate any pointers or sample code that’s worked for you! Thanks.

May 7, 2025 - 00:43
 0
Trouble Discovering WisePAD

Hello all,

I’m working on an Android app on a Sunmi V2 device and can’t get the Stripe WisePAD 3 reader to show up in discovery. I can connect Sunmi’s native card reader no problem, but when I switch to the WisePAD 3 it never appears.

My setup:

Android: compileSdk 33 / minSdk 26 / targetSdk 33

Stripe Terminal SDK: 2.23.4

Reader: WisePAD 3 (WPC32, S/N WPC323127003826)

Discovery code (USB):
Callback disconnectCallback = new Callback() {
@override
public void onSuccess() {
String connectLocationId = Define.STRIPE_LOCATION_ID;
DiscoveryConfiguration config = new DiscoveryConfiguration(30,DiscoveryMethod.USB,false,connectLocationId);
viewModel.discoveryTask = Terminal.getInstance().discoverReaders(config, new DiscoveryListener() {
@override
public void onUpdateDiscoveredReaders(@NonNull List readers) {
if (readers.size() > 0) {
cancelDiscovery();
connectUsbReader(readers.get(0));
}
}
}, new Callback() {
@override
public void onSuccess() {
viewModel.discoveryTask = null;
}
@override
public void onFailure(@NotNull TerminalException e) {
showErrorMessage("Discovery failed: " + e.getErrorMessage());

}
});
}
@override
public void onFailure(@NotNull TerminalException e) {
showErrorMessage("Failed to disconnect reader: " + e.getErrorMessage());
}
};
Terminal.getInstance().disconnectReader(disconnectCallback);

Questions for the community:

  1. Has anyone integrated WisePAD 3 on a Sunmi V2 (or similar industrial Android device)?

  2. Are extra Android permissions or USB host flags required?

  3. Any hidden config steps for locating readers on non-standard Android builds?

  4. Suggestions for troubleshooting deeper (e.g., enabling ADB logs on the reader)?

Appreciate any pointers or sample code that’s worked for you!
Thanks.