I am implementing the zatca to my application, currently in development phase using sandbox api integration, I am getting the error doing a B2B txn
“errorMessages”: [
{
“type”: “ERROR”,
“code”: “invalid-invoice-hash”,
“category”: “INVOICE_HASHING_ERRORS”,
“message”: “The invoice hash API body does not match the (calculated) Hash of the XML”,
“status”: “ERROR”
}
],
I will attach the request payload also with this
{
“invoiceHash”:“TFZU3APUjPqqGCleELBNJDRqWyGheDK9oFpem4XhX4k=”,
“uuid”:“b23b6a96-75cb-4171-9af6-13b88e5fd3ee”,
“invoice”:“DQo8SW52b2ljZSB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6SW52b2ljZS0yIg0KICB4bWxuczpjYWM9InVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzY2hlbWE6eHNkOkNvbW1vbkFnZ3JlZ2F0ZUNvbXBvbmVudHMtMiINCiAgeG1sbnM6Y2JjPSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25CYXNpY0NvbXBvbmVudHMtMiINCiAgeG1sbnM6ZXh0PSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25FeHRlbnNpb25Db21wb25lbnRzLTIiPg0KPGV4dDpVQkxFeHRlbnNpb25zIHhtbG5zOmV4dD0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6Q29tbW9uRXh0ZW5zaW9uQ29tcG9uZW50cy0yIj4NCiAgPGV4dDpVQkxFeHRlbnNpb24+DQogICAgPGV4dDpFeHRlbnNpb25VUkk+DQogICAgICB1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6ZHNpZzplbnZlbG9wZWQ6eGFkZXMNCiAgICA8L2V4dDpFeHRlbnNpb25VUkk+DQogICAgPGV4dDpFeHRlbnNpb25Db250ZW50Pg0KICAgICAgPHNpZzpVQkxEb2N1bWVudFNpZ25hdHVyZXMNCiAgICAgICAgeG1sbnM6c2lnPSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25TaWduYXR1cmVDb21wb25lbnRzLTIiDQogICAgICAgIHhtbG5zOnNhYz0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6U2lnbmF0dXJlQWdncmVnYXRlQ29tcG9uZW50cy0yIg0KICAgICAgICB4bWxuczpzYmM9InVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzY2hlbWE6eHNkOlNpZ25hdHVyZUJhc2ljQ29tcG9uZW50cy0yIj4NCiAgICAgICAgPHNhYzpTaWduYXR1cmVJbmZvcm1hdGlvbj4NCiAgICAgICAgICA8Y2JjOklEPnVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzaWduYXR1cmU6MTwvY2JjOklEPg0KICAgICAgICAgIDxzYmM6UmVmZXJlbmNlZFNpZ25hdHVyZUlEPg0KICAgICAgICAgICAgdXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNpZ25hdHVyZTpJbnZvaWNlDQogICAgICAgICAgPC9zYmM6UmVmZXJlbmNlZFNpZ25hdHVyZUlEPg0KICAgICAgICA8L3NhYzpTaWduYXR1cmVJbmZvcm1hdGlvbj4NCiAgICAgIDwvc2lnOlVCTERvY3VtZW50U2lnbmF0dXJlcz4NCiAgICA8L2V4dDpFeHRlbnNpb25Db250ZW50Pg0KICA8L2V4dDpVQkxFeHRlbnNpb24+DQo8L2V4dDpVQkxFeHRlbnNpb25zPg0KPGNiYzpQcm9maWxlSUQ+cmVwb3J0aW5nOjEuMDwvY2JjOlByb2ZpbGVJRD4NCjxjYmM6SUQ+U0ktMDAwOTY8L2NiYzpJRD4NCjxjYmM6VVVJRD5iMjNiNmE5Ni03NWNiLTQxNzEtOWFmNi0xM2I4OGU1ZmQzZWU8L2NiYzpVVUlEPg0KPGNiYzpJc3N1ZURhdGU+MjAyNi0wMi0xMjwvY2JjOklzc3VlRGF0ZT4NCjxjYmM6SXNzdWVUaW1lPjExOjAyOjMzPC9jYmM6SXNzdWVUaW1lPg0KPGNiYzpJbnZvaWNlVHlwZUNvZGUgbmFtZT0iMDEwMDAwMCI+Mzg4PC9jYmM6SW52b2ljZVR5cGVDb2RlPg0KPGNiYzpEb2N1bWVudEN1cnJlbmN5Q29kZT5TQVI8L2NiYzpEb2N1bWVudEN1cnJlbmN5Q29kZT4NCjxjYmM6VGF4Q3VycmVuY3lDb2RlPlNBUjwvY2JjOlRheEN1cnJlbmN5Q29kZT4NCjxjYWM6QWRkaXRpb25hbERvY3VtZW50UmVmZXJlbmNlPg0KPGNiYzpJRD5JQ1Y8L2NiYzpJRD4NCjxjYmM6VVVJRD4xMDE5NjwvY2JjOlVVSUQ+DQo8L2NhYzpBZGRpdGlvbmFsRG9jdW1lbnRSZWZlcmVuY2U+DQo8Y2FjOkFjY291bnRpbmdTdXBwbGllclBhcnR5Pg0KICA8Y2FjOlBhcnR5Pg0KICAgIDxjYWM6UGFydHlJZGVudGlmaWNhdGlvbj4NCiAgICAgIDxjYmM6SUQgc2NoZW1lSUQ9IkNSTiI+MTAxMTAxNDAwMTwvY2JjOklEPg0KICAgIDwvY2FjOlBhcnR5SWRlbnRpZmljYXRpb24+DQogPGNhYzpQYXJ0eU5hbWU+DQogICAgICA8Y2JjOk5hbWU+VklFVyBQT0lOVCBTWVNURU1TPC9jYmM6TmFtZT4NCiAgICA8L2NhYzpQYXJ0eU5hbWU+DQogICAgPGNhYzpQb3N0YWxBZGRyZXNzPg0KPGNiYzpTdHJlZXROYW1lPktIT0JBUjwvY2JjOlN0cmVldE5hbWU+DQo8Y2JjOkJ1aWxkaW5nTnVtYmVyPjc3NjA8L2NiYzpCdWlsZGluZ051bWJlcj4NCjxjYmM6Q2l0eVN1YmRpdmlzaW9uTmFtZT48L2NiYzpDaXR5U3ViZGl2aXNpb25OYW1lPg0KPGNiYzpDaXR5TmFtZT5EQU1BTTwvY2JjOkNpdHlOYW1lPg0KPGNiYzpQb3N0YWxab25lPjMyNDE1PC9jYmM6UG9zdGFsWm9uZT4NCjxjYWM6Q291bnRyeT4NCjxjYmM6SWRlbnRpZmljYXRpb25Db2RlPlNBPC9jYmM6SWRlbnRpZmljYXRpb25Db2RlPg0KPC9jYWM6Q291bnRyeT4NCjwvY2FjOlBvc3RhbEFkZHJlc3M+DQogICAgPGNhYzpQYXJ0eVRheFNjaGVtZT4NCiAgICAgIDxjYmM6Q29tcGFueUlEPjM5OTk5OTk5OTkwMDAwMzwvY2JjOkNvbXBhbnlJRD4NCiAgICAgIDxjYWM6VGF4U2NoZW1lPjxjYmM6SUQ+VkFUPC9jYmM6SUQ+PC9jYWM6VGF4U2NoZW1lPg0KICAgIDwvY2FjOlBhcnR5VGF4U2NoZW1lPg0KPGNhYzpQYXJ0eUxlZ2FsRW50aXR5Pg0KPGNiYzpSZWdpc3RyYXRpb25OYW1lPlZJRVcgUE9JTlQgU1lTVEVNUzwvY2JjOlJlZ2lzdHJhdGlvbk5hbWU+DQo8L2NhYzpQYXJ0eUxlZ2FsRW50aXR5Pg0KICA8L2NhYzpQYXJ0eT4NCjwvY2FjOkFjY291bnRpbmdTdXBwbGllclBhcnR5Pg0KPGNhYzpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eT4NCiAgPGNhYzpQYXJ0eT4NCiAgICA8Y2FjOlBhcnR5SWRlbnRpZmljYXRpb24+DQogICAgICA8Y2JjOklEIHNjaGVtZUlEPSJDUk4iPnN0cmluZzwvY2JjOklEPg0KICAgIDwvY2FjOlBhcnR5SWRlbnRpZmljYXRpb24+DQogICAgPGNhYzpQYXJ0eU5hbWU+DQogICAgICA8Y2JjOk5hbWU+RmFoZXkgTExDPC9jYmM6TmFtZT4NCiAgICA8L2NhYzpQYXJ0eU5hbWU+DQo8Y2FjOlBvc3RhbEFkZHJlc3M+DQo8Y2JjOlN0cmVldE5hbWU+Um9zaW5hIE1hbm9yPC9jYmM6U3RyZWV0TmFtZT4NCjxjYmM6QnVpbGRpbmdOdW1iZXI+NzY0PC9jYmM6QnVpbGRpbmdOdW1iZXI+DQo8Y2JjOkNpdHlTdWJkaXZpc2lvbk5hbWU+NzY0PC9jYmM6Q2l0eVN1YmRpdmlzaW9uTmFtZT4NCjxjYmM6Q2l0eU5hbWU+V2VzdCBNYWl5YWhhdmVuPC9jYmM6Q2l0eU5hbWU+DQo8Y2JjOlBvc3RhbFpvbmU+bjwvY2JjOlBvc3RhbFpvbmU+DQo8Y2FjOkNvdW50cnk+DQo8Y2JjOklkZW50aWZpY2F0aW9uQ29kZT5TQTwvY2JjOklkZW50aWZpY2F0aW9uQ29kZT4NCjwvY2FjOkNvdW50cnk+DQo8L2NhYzpQb3N0YWxBZGRyZXNzPg0KPGNhYzpQYXJ0eVRheFNjaGVtZT4NCjxjYmM6Q29tcGFueUlEPjMwMDEyMzQ1Njc3MDAwMzwvY2JjOkNvbXBhbnlJRD4NCjxjYWM6VGF4U2NoZW1lPg0KPGNiYzpJRD5WQVQ8L2NiYzpJRD4NCjwvY2FjOlRheFNjaGVtZT4NCjwvY2FjOlBhcnR5VGF4U2NoZW1lPg0KPGNhYzpQYXJ0eUxlZ2FsRW50aXR5Pg0KPGNiYzpSZWdpc3RyYXRpb25OYW1lPkZhaGV5IExMQzwvY2JjOlJlZ2lzdHJhdGlvbk5hbWU+DQo8L2NhYzpQYXJ0eUxlZ2FsRW50aXR5Pg0KICA8L2NhYzpQYXJ0eT4NCjwvY2FjOkFjY291bnRpbmdDdXN0b21lclBhcnR5Pg0KPGNhYzpQYXltZW50TWVhbnM+DQo8Y2JjOlBheW1lbnRNZWFuc0NvZGU+MTA8L2NiYzpQYXltZW50TWVhbnNDb2RlPg0KPC9jYWM6UGF5bWVudE1lYW5zPg0KPGNhYzpUYXhUb3RhbD4NCiAgPGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4zNjAuMDA8L2NiYzpUYXhBbW91bnQ+DQogIDxjYWM6VGF4U3VidG90YWw+DQogICAgPGNiYzpUYXhhYmxlQW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+MjQwMC4wMDwvY2JjOlRheGFibGVBbW91bnQ+DQogICAgPGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4zNjAuMDA8L2NiYzpUYXhBbW91bnQ+DQogICAgPGNhYzpUYXhDYXRlZ29yeT4NCiAgICAgIDxjYmM6SUQ+UzwvY2JjOklEPg0KICAgICAgPGNiYzpQZXJjZW50PjE1PC9jYmM6UGVyY2VudD4NCiAgICAgIDxjYWM6VGF4U2NoZW1lPg0KICAgICAgICA8Y2JjOklEPlZBVDwvY2JjOklEPg0KICAgICAgPC9jYWM6VGF4U2NoZW1lPg0KICAgIDwvY2FjOlRheENhdGVnb3J5Pg0KICA8L2NhYzpUYXhTdWJ0b3RhbD4NCjwvY2FjOlRheFRvdGFsPg0KPGNhYzpMZWdhbE1vbmV0YXJ5VG90YWw+DQogIDxjYmM6TGluZUV4dGVuc2lvbkFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjI0MDAuMDA8L2NiYzpMaW5lRXh0ZW5zaW9uQW1vdW50Pg0KICA8Y2JjOlRheEV4Y2x1c2l2ZUFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjI0MDAuMDA8L2NiYzpUYXhFeGNsdXNpdmVBbW91bnQ+DQogIDxjYmM6VGF4SW5jbHVzaXZlQW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+Mjc2MC4wMDwvY2JjOlRheEluY2x1c2l2ZUFtb3VudD4NCiAgPGNiYzpQYXlhYmxlQW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+Mjc2MC4wMDwvY2JjOlBheWFibGVBbW91bnQ+DQo8L2NhYzpMZWdhbE1vbmV0YXJ5VG90YWw+DQo8Y2FjOkludm9pY2VMaW5lPg0KICA8Y2JjOklEPjE8L2NiYzpJRD4NCiAgPGNiYzpJbnZvaWNlZFF1YW50aXR5IHVuaXRDb2RlPSJQQ0UiPjEyMDwvY2JjOkludm9pY2VkUXVhbnRpdHk+DQogIDxjYmM6TGluZUV4dGVuc2lvbkFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjI0MDAuMDA8L2NiYzpMaW5lRXh0ZW5zaW9uQW1vdW50Pg0KICA8Y2FjOlRheFRvdGFsPg0KICAgIDxjYmM6VGF4QW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+MzYwLjAwPC9jYmM6VGF4QW1vdW50Pg0KICAgPGNiYzpSb3VuZGluZ0Ftb3VudCBjdXJyZW5jeUlEPSJTQVIiPjIyPC9jYmM6Um91bmRpbmdBbW91bnQ+DQogIDwvY2FjOlRheFRvdGFsPg0KPGNhYzpJdGVtPg0KICAgIDxjYmM6TmFtZT5UT1kgQ0FSPC9jYmM6TmFtZT4NCiAgICA8Y2FjOkNsYXNzaWZpZWRUYXhDYXRlZ29yeT4NCiAgICAgICAgPGNiYzpJRD5TPC9jYmM6SUQ+DQogICAgICAgIDxjYmM6UGVyY2VudD4xNTwvY2JjOlBlcmNlbnQ+DQogICAgICAgICAgICA8Y2FjOlRheFNjaGVtZT4NCiAgICAgICAgICAgICAgICA8Y2JjOklEPlZBVDwvY2JjOklEPg0KICAgICAgICA8L2NhYzpUYXhTY2hlbWU+DQogICAgPC9jYWM6Q2xhc3NpZmllZFRheENhdGVnb3J5Pg0KPC9jYWM6SXRlbT4NCjxjYWM6UHJpY2U+DQo8Y2JjOlByaWNlQW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+MjA8L2NiYzpQcmljZUFtb3VudD4NCjwvY2FjOlByaWNlPg0KPC9jYWM6SW52b2ljZUxpbmU+PC9JbnZvaWNlPg==”}