Repository navigation
Expand file tree
/
Copy pathkyc-errors.json
More file actions
158 lines (158 loc) · 4.72 KB
/
Copy pathkyc-errors.json
File metadata and controls
158 lines (158 loc) · 4.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
{
"description": "Linq KYC failure responses for POST /b2b/customers/kyc, and what wraith answers for each on POST /ngn/customers/kyc. Shared by the backend tests and the Veil mobile and web clients; see fixtures/README.md.",
"documentedOn": "2026-10-14",
"documented": {
"invalid_nin_format": 400,
"nin_already_used": 409,
"nin_verification_failed": 422,
"kyc_provider_error": 502,
"kyc_internal_error": 500
},
"cases": [
{
"id": "invalid_nin_format",
"kind": "documented",
"provider": {
"status": 400,
"body": { "message": "The NIN provided is not in a valid format", "code": "invalid_nin_format" }
},
"veil": {
"status": 400,
"body": { "error": "The NIN provided is not in a valid format", "code": "invalid_nin_format" }
}
},
{
"id": "nin_already_used",
"kind": "documented",
"provider": {
"status": 409,
"body": {
"message": "This NIN has already been used to verify another customer",
"code": "nin_already_used",
"customerRef": "veil_fixture_existing_ref"
}
},
"veil": {
"status": 409,
"body": { "error": "This NIN has already been used to verify another customer", "code": "nin_already_used" }
}
},
{
"id": "nin_verification_failed",
"kind": "documented",
"provider": {
"status": 422,
"body": { "message": "NIN verification failed", "code": "nin_verification_failed" }
},
"veil": {
"status": 422,
"body": { "error": "NIN verification failed", "code": "nin_verification_failed" }
}
},
{
"id": "kyc_provider_error",
"kind": "documented",
"provider": {
"status": 502,
"body": { "message": "The identity provider returned an error", "code": "kyc_provider_error" }
},
"veil": {
"status": 502,
"body": { "error": "The identity provider returned an error", "code": "kyc_provider_error" }
}
},
{
"id": "kyc_internal_error",
"kind": "documented",
"provider": {
"status": 500,
"body": { "message": "An internal error occurred during KYC", "code": "kyc_internal_error" }
},
"veil": {
"status": 502,
"body": { "error": "An internal error occurred during KYC", "code": "kyc_internal_error" }
}
},
{
"id": "undocumented_code_with_message",
"kind": "undocumented",
"provider": {
"status": 422,
"body": { "message": "Name does not match NIN record", "code": "nin_name_mismatch" }
},
"veil": {
"status": 422,
"body": { "error": "Name does not match NIN record", "code": "nin_name_mismatch" }
}
},
{
"id": "undocumented_code_without_message",
"kind": "undocumented",
"provider": {
"status": 503,
"body": { "code": "kyc_queue_unavailable" }
},
"veil": {
"status": 502,
"body": { "error": "Linq returned an error without giving a reason (HTTP 503, kyc_queue_unavailable)", "code": "kyc_queue_unavailable" }
}
},
{
"id": "no_code_empty_object_5xx",
"kind": "no_code",
"provider": { "status": 500, "body": {} },
"veil": {
"status": 502,
"body": {
"error": "Linq returned an error without giving a reason (HTTP 500)",
"code": "provider_error"
}
}
},
{
"id": "no_code_unrelated_fields_4xx",
"kind": "no_code",
"provider": { "status": 422, "body": { "ok": false } },
"veil": {
"status": 422,
"body": { "error": "Linq rejected the request", "code": "provider_rejected" }
}
},
{
"id": "no_code_blank_message_and_code",
"kind": "no_code",
"provider": { "status": 500, "body": { "message": " ", "code": "" } },
"veil": {
"status": 502,
"body": {
"error": "Linq returned an error without giving a reason (HTTP 500)",
"code": "provider_error"
}
}
},
{
"id": "no_code_empty_body",
"kind": "no_code",
"provider": { "status": 502, "rawBody": "" },
"veil": {
"status": 502,
"body": {
"error": "Linq returned an error without giving a reason (HTTP 502)",
"code": "provider_error"
}
}
},
{
"id": "no_code_html_gateway_page",
"kind": "no_code",
"provider": { "status": 502, "rawBody": "<html><body><h1>502 Bad Gateway</h1></body></html>" },
"veil": {
"status": 502,
"body": {
"error": "Linq returned an error without giving a reason (HTTP 502)",
"code": "provider_error"
}
}
}
]
}