MerchantId is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either.

Hi,


- I have a developer account with Apple

- I have created the Payment Processing Certificate

- I have done the merchant validation

- I have created the Merchant Identity Certificate



When I call the function 'session.onvalidatemerchant', visit the url: https://cn-apple-pay-gateway-tj-pod1.apple.com/paymentservices/startSession(event.validationURL), I received a error:

{

"statusMessage": "Payment Services Exception merchantId=BECD61522C23F5C8200759A03B67E19730D3F6A03C7DDD1470D64B0DF6F28078 unauthorized to process transactions on behalf of merchantId=1BAE2D40CDB3552D32815FA54BFBDFBAFFE94047CC198087DB502A7C6F9448B1 reason=\"1BAE2D40CDB3552D32815FA54BFBDFBAFFE94047CC198087DB502A7C6F9448B1 is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either.\"",

"statusCode": "417"

}



But when I make the same request on a Chinese server, I received a successful result.

I hope to get successful results on servers in the United States.


Please help.


Thanks

Fan

Replies

did you ever get a fix for this?

We got the same error in the following scenario:

  • merchant_A_identifier contains the two certificates you mentioned above
  • merchant_A_identifier registers Merchant B as merchant_B_identifier using the registerMerchant Apple API, along with the domain "https://our-domain.com" in the field domainNames in the body of the request, and encryptTo field is set to merchant_A_identifier
  • merchant_A_identifier uses its certificate and key to start an Apple Payment Session, with the merchantIdentifier set as merchant_B_identifier and initiativeContext set to "our-domain.com"

It only worked once we made the initiativeContext and the domain from the first request from the domainNames field exactly the same (ie, setting initiativeContext to "https://our-domain.com")

I am also having this issue. Based on the reply from the merchant registration API, it seems like we should be good to go.

{"domainNames":["rentola.ie"],
"partnerMerchantName":"Rentola ApS","partnerInternalMerchantIdentifier":"b5672fbd-8023-4d9b-a31b-1d7eaf9edb8b","partnerMerchantValidationURI":"\/.well-known\/apple-developer-merchantid-domain-association","encryptTo":"754F58C5005E8DE8A05A2258D78027E9AC0CF2803671FA8A0A8AF4837CECBC35","merchantUrl":"https:\/\/rentola.ie"}

We are sending merchantIdentifier as the partnerInternalMerchantIdentifier registered for this domain under our account.

But on validation, we get a 417

{"merchantIdentifier":"b5672fbd-8023-4d9b-a31b-1d7eaf9edb8b","initiative":"web","initiativeContext":"rentola.ie","displayName":"Rentola ApS"}

{
  "statusMessage": "Payment Services Exception merchantId=754F58C5005E8DE8A05A2258D78027E9AC0CF2803671FA8A0A8AF4837CECBC35 unauthorized to process transactions on behalf of merchantId=FAE68E4BDCFD120FA639F4BFDBEA9882CF91D7AA60977E2356769158570DB0A7 reason=FAE68E4BDCFD120FA639F4BFDBEA9882CF91D7AA60977E2356769158570DB0A7 is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either.",
  "statusCode": "417"
}
  • I also encountered this situation. The final reason was that the production environment used the sandbox environment URL.

Add a Comment

^ I was using an Apple Pay sandbox test account on live