{"openapi":"3.0.0","info":{"title":"PAY. instore","description":"A restful journey to your payments.","termsOfService":"https://www.pay.nl/uploads/documents/Terms_and_conditions/General_Terms_and_Conditions_PAY.pdf","contact":{"email":"support@pay.nl"},"version":"v1.0"},"servers":[{"url":"https://pin.pay.nl","description":"PAY. pin server"},{"url":"https://instore.pay.nl","description":"PAY. instore server"},{"url":"https://pin.fasterpay.nl","description":"PAY. fasterpay server"},{"url":"https://pin.letspin.nl","description":"PAY. letspin server"},{"url":"https://pin.letspay.nl","description":"PAY. letspat server"}],"paths":{"/api/status":{"get":{"tags":["Instore payments"],"summary":"Payment:Status","description":"Get the status of a Pin transaction. The customer has 45 seconds to finalize the pin transaction. To check if the pin terminal is available for a new transaction you can poll the status. You can request the status through the statusUrl parameter that has been returned when you have started the pin transaction.","parameters":[{"name":"hash","in":"query","required":true,"schema":{"description":"The hash of a pin transaction","type":"string","example":"7cfe195addffce335eb3092e7a0b07ac"}},{"name":"timeout","in":"query","required":false,"schema":{"description":"Timeout","type":"integer","example":5}}],"responses":{"200":{"description":"Ok.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payment"},"examples":{"pending":{"$ref":"#/components/examples/PinTransactionStatusPending200"},"cancelbyuser":{"$ref":"#/components/examples/PinTransactionStatusCancelByUser200"},"canceltimeout":{"$ref":"#/components/examples/PinTransactionStatusCancelTimeout200"},"paid":{"$ref":"#/components/examples/PinTransactionStatusPaid200"},"notfound":{"$ref":"#/components/examples/PinTransactionNotFound200"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/Payment"}}}}}}},"/api/cancel":{"get":{"tags":["Instore payments"],"summary":"Payment:Cancel","description":"Cancel a pin transaction which has been started on a pin terminal.","parameters":[{"name":"hash","in":"query","required":true,"schema":{"description":"The hash of a pin transaction","type":"string","example":"7cfe195addffce335eb3092e7a0b07ac"}}],"responses":{"200":{"description":"Ok.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payment"},"examples":{"success":{"$ref":"#/components/examples/PinTransactionCancel200"},"alreadycancelled":{"$ref":"#/components/examples/PinTransactionAlreadyCancelled200"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/Payment"}}}}}}}},"components":{"schemas":{"Payment":{"properties":{"status":{"description":"The status of the terminal","type":"string","example":"start"},"txid":{"description":"Unique reference of a pin transaction","type":"string","example":"TT-9549-5050-7700"},"terminal":{"description":"Indicates on which terminal the transaction has been started","type":"string","example":50125205},"ssai":{"description":"Unique reference of a pin transaction","type":"string","example":"0054cfc07110aa50ea909727381649de569f0fb770696e34dd0d31bb"}}}},"responses":{"BadRequest":{"description":"Bad request. One or more supplied parameters invalid, see response."},"Unauthorized":{"description":"Unauthorized."},"Forbidden":{"description":"Forbidden."},"NotFound":{"description":"Not found."},"MethodNotAllowed":{"description":"Method not allowed."},"NotAcceptable":{"description":"Not acceptable."},"UnsupportedMedia":{"description":"Unsupported media type."},"Unprocessable":{"description":"Unprocessable entity."},"RateLimiting":{"description":"Rate limit reached."}},"examples":{"PinTransactionStatusPending200":{"summary":"Pin transaction pending","value":{"status":"start","txid":"TT-9549-5050-7700","terminal":"50125205","ssai":"0054cfc07110aa50ea909727381649de569f0fb770696e34dd0d31bb"}},"PinTransactionStatusCancelByUser200":{"summary":"Pin transaction cancel by user","value":{"status":"final","txid":"TT-9549-5050-7700","terminal":"50125205","ssai":"0054cfc07110aa50ea909727381649de569f0fb770696e34dd0d31bb","error":"0","amount":"1","incidentcode":"2629","incidentcodetext":"USER_CANCELLATION","cancelled":"1","approved":"0"}},"PinTransactionStatusCancelTimeout200":{"summary":"Pin transaction timeout","value":{"status":"final","txid":"TT-9549-5050-7700","terminal":"50125205","ssai":"0054cfc07110aa50ea909727381649de569f0fb770696e34dd0d31bb","error":"0","amount":"1","incidentcode":"1803","incidentcodetext":"TIMEOUT_EXPIRATION","cancelled":"1","approved":"0"}},"PinTransactionStatusPaid200":{"summary":"Pin transaction paid","value":{"status":"final","txid":"TT-9549-5050-7700","terminal":"50125205","ssai":"0054cfc07110aa50ea909727381649de569f0fb770696e34dd0d31bb","cardbrandlabelname":"Maestro","cardbrandidentifier":"1009","approvalID":"J9LHSH","ticket":"UE9JOiA1MDEyNTIwNQ0gTUVSQ0hBTlQgVGlja2V0DSAtLS0tLS0tLS0tLS0tLS0t=...\"","error":"0","amount":"1","incidentcode":"0000","incidentcodetext":"SUCCESS","cancelled":"0","approved":"1"}},"PinTransactionNotFound200":{"summary":"Pin transaction not found","value":{"errormsg":"Error 144","error":"1"}},"PinTransactionCancel200":{"summary":"Pin transaction cancel","value":{"error":"0","errormsg":null}},"PinTransactionAlreadyCancelled200":{"summary":"Pin transaction already cancelled","value":{"error":"1","errormsg":"Error 145"}}}},"tags":[{"name":"Instore payments","description":""}],"externalDocs":{"description":"Official PAY. documentation","url":"https://docs.pay.nl"},"x-readme":{"explorer-enabled":true,"proxy-enabled":true,"samples-enabled":true}}