Creat Location MID Request Mismatch

Hello, I’m testing the addition of optional MIDs for Mastercard and Visa to our location onboarding flow and noticed a potential error when adding searchBy params for both cards on request to the locations endpoint. It seems to store both visa and mastercard as the same params when the request shows differently. Can you verify?

https://api.fidel.uk/v1/programs/${programID}/locations

image

Full request payload:
address: "7230 Ventura AvenueSit nostrum sunt et "
brandId: “cf0c1ee6-814f-4661-8c0f-a8bcca787e3f”
city: “Nisi recusandae Rec”
countryCode: “USA”
metadata: {bamitMerchantID: “yial3XwMTpmpF944QcJT”, bamitLocationID: “LNu78f7Sp3NFFsVsncR6”}
bamitLocationID: “LNu78f7Sp3NFFsVsncR6”
bamitMerchantID: “yial3XwMTpmpF944QcJT”
postcode: “57407”
searchBy: {merchantIds: {visa: [“Consectetur non magn”, “ewrwr”], mastercard: [“Odio laboris quis ut”]}}
merchantIds: {visa: [“Consectetur non magn”, “ewrwr”], mastercard: [“Odio laboris quis ut”]}
mastercard: [“Odio laboris quis ut”]
0: “Odio laboris quis ut”
visa: [“Consectetur non magn”, “ewrwr”]
0: “Consectetur non magn”
1: “ewrwr”
stateCode: “CA”

Full result object:
{
“accountId”: “18daa06c-8413-44b8-8e6d-ae36b3b2cd0d”,
“active”: true,
“activeDate”: “2020-07-27T18:48:02.659Z”,
“address”: "7230 Ventura AvenueSit nostrum sunt et ",
“amex”: {
“auth”: false,
“authTransactionId”: null,
“clearing”: false,
“clearingTransactionId”: null,
“status”: “active”
},
“brandId”: “cf0c1ee6-814f-4661-8c0f-a8bcca787e3f”,
“city”: “Nisi recusandae Rec”,
“countryCode”: “USA”,
“created”: “2020-07-27T18:48:02.659Z”,
“currency”: “USD”,
“geolocation”: {
“latitude”: 51.5138332,
“longitude”: -0.1318224
},
“id”: “eba57508-1e3b-4017-b1c8-bbe81c8b3bf3”,
“live”: false,
“mastercard”: {
“auth”: false,
“authTransactionId”: null,
“clearing”: false,
“clearingTransactionId”: null,
“status”: “active”
},
“metadata”: {
“bamitLocationID”: “LNu78f7Sp3NFFsVsncR6”,
“bamitMerchantID”: “yial3XwMTpmpF944QcJT”
},
“postcode”: “57407”,
“preonboard”: false,
“programId”: “41ae404e-7a18-442a-aafb-3c8ec4599490”,
“searchBy”: {
“merchantIds”: {
“mastercard”: [
“Odio laboris quis ut”,
“Consectetur non magn”,
“ewrwr”
],
“visa”: [
“Odio laboris quis ut”,
“Consectetur non magn”,
“ewrwr”
]
}
},
“stateCode”: “CA”,
“timezone”: “Europe/London”,
“updated”: “2020-07-27T18:48:02.659Z”,
“visa”: {
“auth”: false,
“authTransactionId”: null,
“clearing”: false,
“clearingTransactionId”: null,
“status”: “active”
}
}

That’s the intended behavior.

We’re doing this to allow for flexibility and ensure we can onboard locations on both Visa and Mastercard networks. In practice, Visa and Mastercard merchantIds are the same, so this edge case shouldn’t happen in the live environment.

Ok, thank you for the clarification, that makes sense!