Device registration response different from API documentation

Device registration is failing on production with an invalid OTP error.
The response obtained is different from the one mentioned in the API contract.
The API contract as per the sandbox API documentation - Zatca

The response that we are getting from ZATCA:
{ “body”: “Invalid OTP”, “code”: 400, “timeInMs”: 79 }

We are unable to capture the response correctly due to the change in response format.
Also please let us know the reason for failure.

On simulation environment device registration is failing with 500 - invalid request during PCSID generation step.
Please help us in debugging and fix the device registration on simulation env.

1 Like

Attaching the csr request of the respective failures on sandbox and prod as discussed in the Q&A call today.

Prod CSR Request:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQi96Q0NBYVFDQVFBd2dZQXhDekFKQmdOVkJBWVRBbE5CTVJNd0VRWURWUVFMREFvek1UQXhOVEl5TWpNMQpNVGd3TmdZRFZRUUtEQzlUWVhWa2FTQkliMnhrYVc1bklFTnZiWEJoYm5rZ1ptOXlJRU52Ym5abGNuTnBiMjRnClNXNWtkWE4wY21sbGN6RWlNQ0FHQTFVRUF3d1pRMVFnTFNCVFlYVmthVWh2YkdScGJtY2dMU0F3TURVMU9EQlcKTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFLQTBJQUJJdkpiZFRVaFRpUU5hTnBlWWY4Uy9jaUVPbm5sTDRtSGVFUgpnM0U5akxyTWo1MDVtNW1Hc2RoZStHblpqZktUMTlBaHRIYjhzOE51ZExxUWZ5WTNoaE9nZ2NNd2djQUdDU3FHClNJYjNEUUVKRGpHQnNqQ0JyekFoQmdrckJnRUVBWUkzRkFJRUZBd1NXa0ZVUTBFdFEyOWtaUzFUYVdkdWFXNW4KTUlHSkJnTlZIUkVFZ1lFd2Y2UjlNSHN4SURBZUJnTlZCQVFNRnpFdFExUjhNaTFGTVM0d0xqRjhNeTFLUlVRdwpOVFU0TVI4d0hRWUtDWkltaVpQeUxHUUJBUXdQTXpFd01UVXlNakl6TlRBd01EQXpNUTB3Q3dZRFZRUU1EQVF4Ck1UQXdNUTh3RFFZRFZRUWFEQVpLZFdKaGFXd3hGakFVQmdOVkJBOE1EVTFoYm5WbVlXTjBkWEpwYm1jd0NnWUkKS29aSXpqMEVBd0lEU1FBd1JnSWhBUDRYWnk5YWFNZ3o4YlIveUYva3FMSmJSWHFiY2F2T2ZUUXkxSWZZbTFoNwpBaUVBNlBWekNQelJrTldFei95ZHhaTlFsNklqTFhBK0F6UDBIYm56NGRnclVnQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==

Sandbox CSR Request:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ0VUQ0NBYmNDQVFBd2daTXhDekFKQmdOVkJBWVRBbE5CTVJNd0VRWURWUVFMREFvek1EQTJPRGN4TmpRMQpNVkV3VHdZRFZRUUtERWhMUlU4Z1NXNTBaWEp1WVhScGIyNWhiQ0JEYjI1emRXeDBZVzUwSUVGdVpDQlFZWEowCmJtVnlJRVp2Y2lCRmJtZHBibVZsY21sdVp5QkRiMjV6ZFd4MFlXNWplU0JEYnk0eEhEQWFCZ05WQkFNTUUwTlUKSUMwZ1JHVjJhV05sSUMwZ01EQTFOakl3VmpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBQ2dOQ0FBUTNUdVJVTm8zbAppbWwvTXBMN3RmTlk0dlAzWDB0cW1VMEhlTW9BQVVxV203ZWxmMkJuTkYvMGJuUW1EczRrc1N3T1lNeVovOVI5Ck9SMGx3RGZIOVNUYm9JSERNSUhBQmdrcWhraUc5dzBCQ1E0eGdiSXdnYTh3SkFZSkt3WUJCQUdDTnhRQ0JCY00KRlZCU1JWcEJWRU5CTFVOdlpHVXRVMmxuYm1sdVp6Q0JoZ1lEVlIwUkJIOHdmYVI3TUhreElEQWVCZ05WQkFRTQpGekV0UTFSOE1pMUZNUzR3TGpGOE15MUtSVVF3TlRZeU1SOHdIUVlLQ1pJbWlaUHlMR1FCQVF3UE16QXdOamczCk1UWTBOVEF3TURBek1RMHdDd1lEVlFRTURBUXhNVEF3TVE4d0RRWURWUVFhREFaU2FYbGhaR2d4RkRBU0JnTlYKQkE4TUMwTnZibk4xYkhSaGJuUnpNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJSExLWjZQUml1dm5qVXB1QVNrMQp4dnVzZkRpT0dKclhRVTY1eEp4TnUzeTdBaUVBMURPUVhNaG9jdEJYb1h4K0hDQnJOcHB5MGF6aHY3bFI3MTd0CitVTFZTdEE9Ci0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQo=

@kiaziz please check and help.

Dears,

please schedule a 1 to 1 call through the relationship manager.

Regards,

Sure thanks! We will request for a 1 to 1 call through the relationship manager.

Please prioritise these requests as device registration is fundamental to start E-Invoicing.

@kiaziz This is the issue everyone experiencing who integrated with Sandbox first and then migrating to Simulation/Production.

The results for invalid OTP on Simulaiton/Production and Sandbox are different. Could you guys fix it to remove the confusion for everyone, please?

We had exactly the same issue and we decided to handle the error from Simulation/Production only properly, leaving Sandbox “broken” as it does not make sense to support the response which will not be used in production.

Best regards,
Sergei

2 Likes