I’m trying to test creating a card using the Square sandbox with the Cards-Api and getting a “SERVICE_UNAVAILABLE” ApiError. Are we unable to create test cards in the sandbox?
I’m using the Web Payments SDK and one of the test cards to get a source ID (Everything appears to be working correctly around this).
And Here’s the request and response:
request: {
method: 'POST',
url: 'https://connect.squareupsandbox.com/v2/cards',
headers: {
'user-agent': 'Square-TypeScript-SDK/13.0.0',
'content-type': 'application/json',
authorization: 'Bearer <MY-SQUARE-ACCESS-TOKEN>',
'Square-Version': '2021-07-21',
accept: 'application/json'
},
body: {
type: 'text',
content: '{"idempotency_key":"\\u0018\\ufffdG\\ufffd-\\ufffdA\\ufffd\\ufffd\\ufffd$\\ufffdc\\u0016\\ufffd\\ufffd","source_id":"cnon:CBASEO1q4vlyvhh56lUQlo3uVec","card":{"cardholder_name":"Test Customer","customer_id":"79DJ3YVZ1RYGZ0WDHW8431G14G","reference_id":"611d8ba2637504a33d07de79"}}'
}
},
statusCode: 503,
headers: {
'content-type': 'application/json',
'square-version': '2021-07-21',
vary: 'Origin, Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-download-options': 'noopen',
'x-frame-options': 'SAMEORIGIN',
'x-permitted-cross-domain-policies': 'none',
'x-speleo-traceid': 'FSYYQHdfkhCWJ',
'x-xss-protection': '1; mode=block',
date: 'Thu, 19 Aug 2021 00:21:36 GMT',
'content-length': '124',
'strict-transport-security': 'max-age=631152000; includeSubDomains; preload',
connection: 'close'
},
body: '{"errors":[{"category":"API_ERROR","code":"SERVICE_UNAVAILABLE","detail":"The Connect endpoint is currently unavailable."}]}',
result: [Object: null prototype] { errors: [ [Object: null prototype] ] },
errors: [
[Object: null prototype] {
category: 'API_ERROR',
code: 'SERVICE_UNAVAILABLE',
detail: 'The Connect endpoint is currently unavailable.'
}
]
}
A retry attempt yields the following error, which seems odd if the service was unavailable on the first request (I’m reusing the same idempotencyKey also):
errors: [
[Object: null prototype] {
category: 'INVALID_REQUEST_ERROR',
code: 'SOURCE_USED',
detail: 'Source was used before.',
field: 'source_id'
}
]