MBS (StoreKit) Error "Failed to get MAC address!" & "Invalid serial"

I use MBS for In-App-Purchase and receipt validation.

On an Intel iMac 27" 2020 with macOS Sequoia 15.5 I use the code below. FailReason returns “Failed to get MAC address!”. I looked at the MAC addresses with ifconfig and got valid MAC addresses on all important interfaces. There is another strange effect on this computer: MBS always says that the MBS serial is invalid. On a MacBook Pro M1 everything is working fine.

Any ideas?

Var v As New AppReceiptVerificatorMBS

If App.BundleIdentifier <> "" Then v.BundleIdentifier = App.BundleIdentifier
If App.Version <> "" Then v.BundleVersion = App.Version

If Not v.verifyReceipt(gReceipt) Then
  MsgBox kInvalidReceipt + v.FailReason '''
End If

Well, what does the MACAddress property say?

The plugin queries the MAC Address for en0 interface.

That’s probably the problem. In fact there is no en0 interface on my iMac. I don’t use an ethernet connection. I tried to configure one, without success. Isn’t there an interface that is always available in macOS?

The available interfaces on my iMac with a MAC or ether address are: en1 - 4, ap1, awdl0, llw0, bridge0.

on my Macbook, en0 is the Wifi. Not sure why the iMac doesn’t have en0.

I could change code to look for en1 if en0 is missing.

Great! That would be a good solution. Thank you very much!

Is the missing MAC address the reason that the serial number isn’t recognised, too?

Well, the receipt has the MAC Address of the Mac you purchased the app on.
Maybe that is the one in en1.

OK, but what’s the influence on the MBS serial?

Our registration for the plugin licenses? Nothing.
If you have a license problem with our plugin, maybe email me a screenshot of what you see.

The AppReceiptVerificatorMBS class needs the Mac ID as it compares the MAC in the receipt to the one of the Mac it runs on.

To avoid this annoying message I did this:

  1. Deleted /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist.
  2. Exchanged en0 and en1 in /Library/Preferences/SystemConfiguration/preferences.plist.
  3. Rebooted the System.

After that en0 became the active WLAN and en1 became inactive.

MBS is now able to get the MAC address and verify receipts.
But it still doesn’t accept the correct serial number.

Good. I’ll email you about the licensing issue.