Salt Edge PSD2 Compliance Logo

V1

Payments

This endpoints are responsible for creating payment orders on behalf of PSU via TPP interface. Process of payment creation starts once PSU fills a payment template form and submits the request. You can find below sequence diagrams represeting oauth payment creation, oauth payment creation using SCA and funds availability flows.

OAuth SCA Payment Creation Flow OAuth SCA Payment Creation Flow
OAuth Payment Creation Flow OAuth Payment Creation Flow

Create

Create a payment. As a result, Connector should send a success, update or fail callback to Salt Edge PSD2 Compliance with result of the operation.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InByb3ZpZGVyX2NvZGUiOiJkZW1vYmFuayIsInNlc3Npb25fc2VjcmV0IjoieGJtLXZtU1NvRXNCc3NTUkttbTgiLCJvcmlnaW5hbF9yZXF1ZXN0Ijp7ImNsaWVudF9qd3QiOiJCZWFyZXIgZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5LmV5SmtZWFJoSWpwN0luQnliM1pwWkdWeVgyTnZaR1VpT2lKa1pXMXZZbUZ1YXlJc0luUmxiWEJzWVhSbFgybGtJam80TWpRc0luSmxaR2x5WldOMFgzVnliQ0k2SW1oMGRIQnpPaTh2ZFhObGNpNTNhV3hzTG1KbEwzSmxaR2x5WldOMFpXUXZhR1Z5WlNJc0ltSmxibVZtYVdOcFlYSjVYMmxrSWpvek9ETXNJbVp2Y21ObFgzTmpZU0k2ZEhKMVpTd2laWGgwY21FaU9udDlmU3dpWlhod0lqb3hOVGMwTURrek1qQTVmUS5pQkNPT25kNnRDVnp5Z2h2amtfaW9uUGNXTEV6WEVzMU5TUDc5UVc4WWJJcFc0WHFZYkNoSUhMMkxIYzdweE9SdDRYWXBKYV91cUI1YUR2VmdDZGhBekY5dkszVVFHWEZpNW1sTEhXdkh5N3NCWXhWcjVKRl9XQXhRQlRlRkx6NVJjUVdfZ2hoSmhqUGc2bXZleFBwNXpVWWxhcWx3SEN3eHpxaFNLZXpiREVCbkVxNjJJYnZoVHIxVUxuNTdLVWx6ZFFJRGwwNzFkRW9rdnhqbUZWSlB0V3RfcWhGRVVydFlDWkJLRlFhelI5X0dGdXJkNzJaOV9FMFBYcmZOS2M0dUh3WnRucWFUZ2VuNktpQXFGdlBxenpEODlocWRFdmVuMVhqWVNlcnBpZnR1Rk92MXNYQkY4WnFFTzN2MS16dGs3Nm9TeFBaMnpoNkxud2xSSkszanciLCJjbGllbnRfcGF5bG9hZCI6eyJkYXRhIjp7InJlZGlyZWN0X3VybCI6Imh0dHBzOi8vdXNlci53aWxsLmJlL3JlZGlyZWN0ZWQvaGVyZSIsImJlbmVmaWNpYXJ5X2lkIjozODMsImZvcmNlX3NjYSI6dHJ1ZSwiZXh0cmEiOnt9LCJ0ZW1wbGF0ZV9pZCI6ODI0LCJwYXltZW50X2F0dHJpYnV0ZXMiOnsiZnJvbV9hY2NvdW50IjoiMTM0NjU0NjQiLCJ0b19hY2NvdW50IjoiMjU3NjU3NDYiLCJhbW91bnQiOjEwMC41LCJkZXNjcmlwdGlvbiI6InRlc3QifSwicHJvdmlkZXJfY29kZSI6ImRlbW9iYW5rIn0sImV4cCI6MTU3NDA5MzIwOX19LCJyZWRpcmVjdF91cmwiOiJodHRwczovL3VzZXIud2lsbC5iZS9yZWRpcmVjdGVkL2hlcmUiLCJwcmlvcmFfcGF5bWVudF9pZCI6NDUxLCJwYXltZW50X3R5cGUiOiJQU0RfQUlTUCJ9LCJleHAiOjE3MTQ3ODY1ODh9.lD_Zy5_5GkUSeENVWmw3yPPbs-Qhs9jS0LGUZubeU8B3bjCVlm1fckm1BHxiDTTrRLi19-6CY-ixqoynXX2FY_wC8BKX7ewef8UkQpV4NyL7uf3frm6TOmYIOTdnQmou_9wVCQYPE9qwAQggNTEHpSJYQnyhyZEddLZzYHnmDIF-CRFxIYoajF8fDotichA6mcY2WvgG1EfNb9hM3MKSgBTROvbMP6K-SFZhyu5COGWhEW4oLM5ZpNd6h-dtt09GJHnyjHEuq2ZQOq0YPJeMi-cFnohII2Pru5GwZmHGvyjlS7Gjbo4T63_-jPp3Wr2ZuUyMVkFHr--HboOr9t3-cA" \ 
 -H "Access-Token: 724e66da1e457c6e5d309a78966d79ddd877368e142ed4b3fd36b73909a880ff69052fdfa57d09eb7b308a79b47728e80e681bbc9e9a68b72b2a10534c64220a" \ 
 -H "Accept: application/json" \ 
 -H "Content-Type: application/json" \ 
 -H "Client-Id: 388" \ 
 -X POST "https://your.connector.url/api/priora/v1/payments/create"

Example of request parameters

Request

POST https://your.connector.url/api/priora/v1/payments/create

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key.
Access-Token string, required The token which is created by a connector as a result of successful authentication.
Accept string, required Media type that is acceptable for the response. Allowed values: application/json
Content-Type string, required The media type of the body of the request. Allowed values: application/json
Client-Id integer, required Client application identifier in Salt Edge PSD2 Compliance. Should be used to get public key for Authorization header validation.
Unpacked Request Authorization
Response headers
Header Type Description
Retry-After integer, optional Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request.
Response

Upon successful request, 200 status code should be returned.


Show

Fetch all data relevant to a payment including fees, status and other. Response of this action should contain a corresponding payment object in JSON format.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7fSwiZXhwIjoxNzE0Nzg2NTg4fQ.BGSlNb-Pgc02GRXUHHnWMUeZA_tDFmqqHi-548fdrsx0BVv6pzqIYxezCLRGFCRo9ECXOyPDfSf37zbZLbu-Ck-Vb07X0T5VqzPlSj1uPF1IXmafT_K2DaKMUvL38nv6aHX0Fr9TBLG9VKgrnjyZ_jtPLamrCl9bktDUflajSVvsj8t-xBPOpKDFL-jBoQPOaOv5tI92Qg959ZJkwR9vbPb8rpUYpWuC9XAvirH2VDQGdRFqQbYMBEOt1Fid2DFbxzP-T-V-d61-y_mT7ADCg5D03Bd-We6yTWMgu2pootW3v4C0Qzk_iHX5SIXDQCSOh77DKufeWMnuvQhiQUu6PQ" \ 
 -H "Access-Token: d006c043ccc799237ec0be8137e8756c09b5add0357410a90298203705731b4da954c8108387bf8d1ef45244fee380704e7b883e66e09f51c767d776206f748c" \ 
 -H "Accept: application/json" \ 
 -H "Content-Type: application/json" \ 
 -H "Client-Id: 951" \ 
 -X GET "https://your.connector.url/api/priora/v1/payments/show"

Example of request parameters

{"data":{},"exp":1574093209}

Example of response

{"data":{"total":-43.5,"payment_attributes":{"amount":100.5,"from_account":"13465464","to_account":"25765746","description":"test"},"status":"executing","fees":[{"amount":0.25,"description":"Bank fee.","currency_code":"EUR"},{"amount":0.1,"description":"Payment fee.","currency_code":"EUR"}],"description":"Test payment","id":198,"extra":{},"priora_payment_id":"677"}}
Request

GET https://your.connector.url/api/priora/v1/payments/show

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key.
Access-Token string, required The token which is created by a connector as a result of successful authentication.
Accept string, required Media type that is acceptable for the response. Allowed values: application/json
Content-Type string, required The media type of the body of the request. Allowed values: application/json
Client-Id integer, required Client application identifier in Salt Edge PSD2 Compliance. Should be used to get public key for Authorization header validation.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response headers
Header Type Description
Retry-After integer, optional Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request.
Response

Upon successful request, 200 status code should be returned.


Confirm

This endpoint is used for processing additional interactive steps in the process of payment creation. As a result, Connector should send a success or fail callback to Salt Edge PSD2 Compliance with result of the operation.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InBheW1lbnRfaWQiOiI5NzkiLCJvcmlnaW5hbF9yZXF1ZXN0Ijp7ImNsaWVudF9qd3QiOiJCZWFyZXIgZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5LmV5SmtZWFJoSWpwN0ltTnlaV1JsYm5ScFlXeHpJanA3SW5SNWNHVWlPaUp2WVhWMGFDSjlmU3dpWlhod0lqb3hOVGMwTURrek1qQTVmUS5IYUoyWksxVlZvUXJoUkZsSVBaTk01dzRtajhQVG9sT3BBbHJFRU9UY2VGSWFrYzQ1blFMd1BpUkNyUE9OQWl6blRJMTI1MEVkb01Vd1JmYVd6MUFRMEZBdi1Xc1dmb3ltTjNiaVljWlpwNEZlQXJMVzgyd3pzREZXVTlWV1VIU0h4MnpMX0k3dnZWaGxKY1BiX3R6SVJWcVJSTFRNTnp2SjJPX1hYZ0hPeG1TQXF6Q3B1UTdBVUV6QTVZdUQxWjgxZDVPcTMtNzNmMGRjenc1Nnk2cTV4blY4NnJuZ2s5M1FpYTdGR3oyRi1HY3dJbld6R0lsV2dtUXQxYk13SHltNnJ1RVVzeUxOZ09LanVObnFGaEtwOTh2V1FpaFFuVlZBdmU3bGNoUG9rWWFYMklGU0k4Z2FkT2FTZ1dyQ2FvMngySU1qQkZxMHZvaFYxQnFZbEVLYVEiLCJjbGllbnRfcGF5bG9hZCI6eyJkYXRhIjp7ImNyZWRlbnRpYWxzIjp7InNtc19waW5jb2RlIjoiMTIzNDU2In19LCJleHAiOjE1NzQwOTMyMDksImlkIjo3OTR9fSwiY3JlZGVudGlhbHMiOnsidHlwZSI6Im9hdXRoIn0sInNlc3Npb25fc2VjcmV0IjoiRTVlVk5IdmdDSDlpZjRGSkE4UGUiLCJwcmlvcmFfcGF5bWVudF9pZCI6NDQ4fSwiZXhwIjoxNzE0Nzg2NTg5fQ.tJ69bgijGROTXNv91i3vZooD-xlSdhM8Tq7EBiPbBLdC1Yo9Xn10Zvsw6zKwNA1-H6m9HBZ0eSRiDSwk0Wdni3ClNpdc4LHviVOcKQZ8CD8Xh5iMU1yY-IfqLBrk6TX09j_vs_Ai31yGmHbmoBuoTqC1K1P9NTGWmfgX5U-qREZPOi4YaWT0Ag2TzvQJys96Q064zmKpzB2jftDruZjJ5S_RYmxc9KjUtkUGqeOIifiIfLeY-yyW7HIb8hK0nwCG1Ls1xd_Qa44CY3xtRsMV_VK1pC9lQBwdJHmN1M4SepFLVsaXDsIGD4APrXnhhGX0Lm8drEMSml1Nn3x9Ba_Avw" \ 
 -H "Access-Token: a38cb0703965208ce622270370d5174d074385ee6f615052fb2856cde4b30c8909ea2a71fb702eb4c129aa9dd671354099c1179f3313ea3eea233a73ffc9cf91" \ 
 -H "Accept: application/json" \ 
 -H "Content-Type: application/json" \ 
 -H "Client-Id: 305" \ 
 -X POST "https://your.connector.url/api/priora/v1/payments/confirm"

Example of request parameters

{"data":{"payment_id":"979","original_request":{"client_jwt":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImNyZWRlbnRpYWxzIjp7InR5cGUiOiJvYXV0aCJ9fSwiZXhwIjoxNTc0MDkzMjA5fQ.HaJ2ZK1VVoQrhRFlIPZNM5w4mj8PTolOpAlrEEOTceFIakc45nQLwPiRCrPONAiznTI1250EdoMUwRfaWz1AQ0FAv-WsWfoymN3biYcZZp4FeArLW82wzsDFWU9VWUHSHx2zL_I7vvVhlJcPb_tzIRVqRRLTMNzvJ2O_XXgHOxmSAqzCpuQ7AUEzA5YuD1Z81d5Oq3-73f0dczw56y6q5xnV86rngk93Qia7FGz2F-GcwInWzGIlWgmQt1bMwHym6ruEUsyLNgOKjuNnqFhKp98vWQihQnVVAve7lchPokYaX2IFSI8gadOaSgWrCao2x2IMjBFq0vohV1BqYlEKaQ","client_payload":{"data":{"credentials":{"sms_pincode":"123456"}},"exp":1574093209,"id":794}},"credentials":{"type":"oauth"},"session_secret":"E5eVNHvgCH9if4FJA8Pe","priora_payment_id":448},"exp":1574093209}
Request

POST https://your.connector.url/api/priora/v1/payments/confirm

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key.
Access-Token string, required The token which is created by a connector as a result of successful authentication.
Accept string, required Media type that is acceptable for the response. Allowed values: application/json
Content-Type string, required The media type of the body of the request. Allowed values: application/json
Client-Id integer, required Client application identifier in Salt Edge PSD2 Compliance. Should be used to get public key for Authorization header validation.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response headers
Header Type Description
Retry-After integer, optional Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request.
Response

Upon successful request, 200 status code should be returned.


Cancel

Cancel the payment that is in the process of creation, meaning it has not been confirmed yet.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InBheW1lbnRfaWQiOiI2ODEiLCJzZXNzaW9uX3NlY3JldCI6IlVUUmdIdFotZnh5SGRNaTZmQ2liIn0sImV4cCI6MTcxNDc4NjU4OX0.iU-696PocHUFKtKOe42dF4wpIwA5rDAtCcqV9PgUczCTeFoaorRS_won0516KC0_FV5IoOgdS98sbd5cAry18x6QzaYD_ERILBcF33V2H0O0LohIHU-SrquErKfnNBcA8LYil6k6bWb7aQVAqTCU-5NHDIKbemSuXGKrQwB4OKUbgnUQw4fylrbYKqCYiHT6nNsKbci8xOxDuOfAkLazyq4YJeP1lvrv70d-8Ys9GRlLwW1OT9dm6bUPLLdf9nn_7Fx6jN0wbDC-DxVnRvQeWcspTX3dAOqw-7Npn11VXsjKphkT_QwyHvQSJDl3noko-JbHhGkESO9TjhVVfx3V0A" \ 
 -H "Access-Token: caab3e072b3c178b01aa19b52e05a518e23b63d5330a4592f8d9378d24001f55e21476dd29a22334e37ec1396332804254bebf0190852be2ce2626eb6d82aa0f" \ 
 -H "Accept: application/json" \ 
 -H "Content-Type: application/json" \ 
 -H "Client-Id: 311" \ 
 -X POST "https://your.connector.url/api/priora/v1/payments/cancel"

Example of request parameters

{"data":{"payment_id":"681","session_secret":"UTRgHtZ-fxyHdMi6fCib"},"exp":1574093209}
Request

POST https://your.connector.url/api/priora/v1/payments/cancel

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key.
Access-Token string, required The token which is created by a connector as a result of successful authentication.
Accept string, required Media type that is acceptable for the response. Allowed values: application/json
Content-Type string, required The media type of the body of the request. Allowed values: application/json
Client-Id integer, required Client application identifier in Salt Edge PSD2 Compliance. Should be used to get public key for Authorization header validation.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response headers
Header Type Description
Retry-After integer, optional Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request.
Response

Upon successful request, 200 status code should be returned.


Trusted Beneficiaries

These endpoints are responsible for processing trusted beneficiaries.

Get

Fetch all data relevant to trusted beneficiaries. Response of this action should contain a corresponding trusted beneficiary object in JSON format.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7fSwiZXhwIjoxNzE0Nzg2NTkwfQ.eBXOLUn5sQ1bK_NSFhFlSIhlQF_oOyvEXHol2M2wXJaaV3sl7tqq2bsZ62RKjEY3kEUKdvobjNKUNowCLgiMR83QODX45ztlh7Qcz5QXOtCpl6WZ9XxyPDWliDUtkRfaHxbKIPYc789YVm0q8CdD8gMuAtwc3bpq-0NWYyqj3UmS31iQAakb51Gj48iZEST0K7fZHtcFyRnB5MDUURo_Upu-zEDwKDiivrbs_401U8op9lljJ1gL7FUNyzr1Jcp64fumXE08HrqMyunacyULSI71g_Emj1UU03chTF7NXV12tvk4378P76WpiSFE0Z3Kpersvum959U6Wx7OzJoNew" \ 
 -H "Access-Token: 714f57a6cbedda63a9bd9f18d748ba108200cff058217d35621c17cf2790b9ef1487c905020c61bcb76c3bd1f4a17acd3bb18ada44ff9a3a2bd625580ce19224" \ 
 -H "Accept: application/json" \ 
 -H "Content-Type: application/json" \ 
 -H "Client-Id: 718" \ 
 -X GET "https://your.connector.url/api/priora/v1/trusted_beneficiaries"

Example of request parameters

{"data":{},"exp":1574093210}

Example of response

{"data":[{"id":"705","alias_name":"Example Name","payment_type":"PSD_AISP","identifiers":{"from_account":"*****111","to_account":"*****222","description":"*****tion"}}]}
Request

GET https://your.connector.url/api/priora/v1/trusted_beneficiaries

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key.
Access-Token string, required The token which is created by a connector as a result of successful authentication.
Accept string, required Media type that is acceptable for the response. Allowed values: application/json
Content-Type string, required The media type of the body of the request. Allowed values: application/json
Client-Id integer, required Client application identifier in Salt Edge PSD2 Compliance. Should be used to get public key for Authorization header validation.
Unpacked Request Authorization
data
hash, required
Wrapper for the data.
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response headers
Header Type Description
Retry-After integer, optional Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request.
Response

Fetch all data relevant to trusted beneficiaries. Response of this action should contain a corresponding trusted beneficiary object in JSON format.


Errors

Additional endpoints to be implemented on connector side to improve communication between Salt Edge PSD2 Compliance Solution and Connector.

Notify

This endpoint is responsible for receiving validation errors of responses which Connector sends to Salt Edge PSD2 Compliance Solution

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InJlcXVlc3QiOnsibWV0aG9kIjoiZGVsZXRlIiwidXJsIjoiaHR0cHM6Ly91c2VyLndpbGwuYmUvcmVkaXJlY3RlZC9oZXJlIiwiaGVhZGVycyI6e319LCJlcnJvciI6eyJlcnJvcl9tZXNzYWdlIjoic29tZXRoaW5nIHdlbnQgd3JvbmciLCJlcnJvcl9jbGFzcyI6IkludGVybmFsUHJvdmlkZXJFcnJvciJ9fSwiZXhwIjoxNzE0Nzg2NTkxfQ.PiU6e7MUWdutaDYhj5DkF6fp_XJpJjE33hbs0l517JjKjwIr1MRFQgQIX5F8ONJlgWqPQolc6jM8ga0riHYGE4lNLzeXcY4iscAx0mJsevzgp1g2nYrXtyi0Ekb-a8YMHn2hkz2l48osEOl4lD6BDVC2uTwDDUhEjRko6Tlt5scirYRK0oh3OCGyGfAEA89zKMt5Iw32BEdQROfUC7yDBCpyQB8zRDdrVHKJYAuXQx4oZ_PCrviU1oGFq63x7q2sjhdH_1khmN5u3g_C0rpTbEO7_jj4-QHYLA3Cj2a4dEfxHs7rNLVaWa4xcC8C7VyWD2G7NlhvmRTEfwCvJohaRg" \ 
 -H "Access-Token: b2077c5c020a5e262767aac63fdbc75fd64461afc660784fbc3451766f586bb4836e3405007c2caf497a1125ba58fb49be65b3c352285dea68328aded84e2f91" \ 
 -H "Accept: application/json" \ 
 -H "Content-Type: application/json" \ 
 -H "Client-Id: 685" \ 
 -X POST "https://your.connector.url/api/priora/v1/errors"

Example of request parameters

{"data":{"request":{"method":"delete","url":"https://user.will.be/redirected/here","headers":{}},"error":{"error_message":"something went wrong","error_class":"InternalProviderError"}},"exp":1574093209}
Request

POST https://your.connector.url/api/priora/v1/errors

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key.
Access-Token string, required The token which is created by a connector as a result of successful authentication.
Accept string, required Media type that is acceptable for the response. Allowed values: application/json
Content-Type string, required The media type of the body of the request. Allowed values: application/json
Client-Id integer, required Client application identifier in Salt Edge PSD2 Compliance. Should be used to get public key for Authorization header validation.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response headers
Header Type Description
Retry-After integer, optional Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request.
Response

Upon successful request, 200 status code should be returned.


Payments

Success

Success callback should be used when all verification procedures have passed and the payment has been carried out.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InByaW9yYV9wYXltZW50X2lkIjoxMzQsInBheW1lbnRfaWQiOiI1NTEiLCJleHRyYSI6e319LCJleHAiOjE3MTQ3ODY1OTF9.CqCdhQqnl-7vuvmLS6249y5VVe5b3EZoUhQCUjpJziyJlGAV33GagIpwfSjds70qgeJNTqGdt-i8Ful7cXk2f3dcJWVftK4FKzdTUFr2ZzMaohjNz9GmLzAD5SlN5r_jgrZ5EI9Eo2bCypSKEYP9fBl74H7p8wzsADkFc90viHbMxeKJ3JqHLbkqRGr8dewsuqakhoZ7dkjJc12KqwTMm0TT8prj3LXV44Pk6RLnunXOn2v3JtKp-0Z8xlUvRT_lQf6LjG6sWStzHYITt7-AENcGLJk4aN7fH7je1fK-3BOkfZccQdhvOtlShh0xJCmEaCXv2WOP-EqQp0px5QbK7Q" \ 
 -H "App-Id: KwQ2u8Nn3XKEu0xcMbAPUQ" \ 
 -H "App-Secret: bzTIvz_hEpQ-AAdw4Un4Xg" \ 
 -X POST "/api/connectors/v1/payments/success"

Example of request parameters

{"data":{"priora_payment_id":134,"payment_id":"551","extra":{}},"exp":1574093208}

Example of response

{"data":{},"meta":{"time":"2019-11-18T16:04:48.418Z"}}
Request

POST /api/connectors/v1/payments/success

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


data
hash, optional
Wrapper for the data.
Related Errors
Class Code Description
SessionClosed 400 Session specified in request is already closed and cannot be modified.
ConfigurationError 400 Missing configurations in dashboard.
SessionExpired 401 Found session is expired and cannot be processed anymore.
AuthorizationMissing 401 Authorization header is missing.
PaymentNotFound 404 Payment specified in request does not exist or cannot be retrieved.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ProviderDisabled 406 Cooperation with specified Provider is impossible.

Update

Update callback may be called multiple times in order to request multiple steps of authorization or to send other updates to Sale Edge PSD2 Compliance session.

In case payment processing on ASPSP side requires extra time and it is not fully automated, you might use status **executing** to inform TPP about status of the payment.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InBheW1lbnRfaWQiOiI1NTAiLCJwcmlvcmFfcGF5bWVudF9pZCI6MjI4LCJleHRyYSI6e30sImV4cGlyZXNfYXQiOiIyMDE5LTExLTE4VDE2OjA5OjQ4LjUxNFoiLCJzdGF0dXMiOiJleGVjdXRpbmcifSwiZXhwIjoxNzE0Nzg2NTkyfQ.LXWsyk3fQZubKUiCQHqYCs0-_LRn6VzFSLxwsBOIG9gDHsAftYrfjt55jRGKtN0lXBipxTgs3hkrflDqUot-gp1ri60WPQ4iO5Vu5cyzxzfT1b0uWtcy1e__wjIk6rd2orETRInf1iWDXHTOvOF_9x0mAdKUGnKctOmXAgY4G0zxeFiQooPySJvZOvkk485ro7A1_3-RIqlS2JAMl3FJFAcPXh0e1VN-a8l9VgPfajQN2K35jIXKD95OeBhto5g3ddTbFZviuHO5sEhU65q-I7gwdO3t1M4Q66Eh2ehxj_etyhM4K7UDv8L3MAgwEsgqkqBLqgrboxySzJU15x7y-A" \ 
 -H "App-Id: zDyFXCDE217MvWKQg1-h7w" \ 
 -H "App-Secret: ri05Whlc9Nb0Rz5Y6PDFKw" \ 
 -X POST "/api/connectors/v1/payments/update"

Example of request parameters

Example of response

{"data":{},"meta":{"time":"2019-11-18T16:04:48.491Z"}}
Request

POST /api/connectors/v1/payments/update

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


data
hash, optional
Wrapper for the data.
Related Errors
Class Code Description
SessionClosed 400 Session specified in request is already closed and cannot be modified.
ConfigurationError 400 Missing configurations in dashboard.
SessionExpired 401 Found session is expired and cannot be processed anymore.
AuthorizationMissing 401 Authorization header is missing.
PaymentNotFound 404 Payment specified in request does not exist or cannot be retrieved.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ProviderDisabled 406 Cooperation with specified Provider is impossible.

Fail

Fail callback should be used when authorization process has been compromised for any reason: broken request, invalid credentials, etc.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InBheW1lbnRfaWQiOiIzMzkiLCJlcnJvcl9tZXNzYWdlIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiZXJyb3JfY2xhc3MiOiJJbnRlcm5hbFByb3ZpZGVyRXJyb3IiLCJleHRyYSI6e30sInByaW9yYV9wYXltZW50X2lkIjoyNDF9LCJleHAiOjE3MTQ3ODY1OTJ9.YUJFNlvMZjuiYoH0xVDaPK8_89BxjZBct-eEPg6nGYPE7Uisn1NNUL5d9u7YFLCMpm0GtId45uAJX1XTr108Qxd4YTAcOxunfe3hkYWhIYqTPvWvf4uONqYxuyjc4RgqglXW5DlryJs5DJ0pZePC--hFmVbXpgV73YR-8nu8wCSlcWOMXix91_r3GkontdgodB5FBpf-LDRLwcM_TadZSqs2_R_2_4jT7POSCQSY5LZsvNLWWArNViqav9Vgei_oLnPk4rNqjzoh9jLc5Ww7FQyjwrh3WQN5_crGe41Y0nbOGfNcyJmZtV1EwNd4wKQ2nRDj11vft0hobhvS4KV4tw" \ 
 -H "App-Id: 5qNBNdE2YhZViFumcu-RFA" \ 
 -H "App-Secret: nsI4wPpMeAyBWGYNSresIQ" \ 
 -X POST "/api/connectors/v1/payments/fail"

Example of request parameters

{"data":{"payment_id":"339","error_message":"Something went wrong.","error_class":"InternalProviderError","extra":{},"priora_payment_id":241},"exp":1574093208}

Example of response

{"data":{},"meta":{"time":"2019-11-18T16:04:48.351Z"}}
Request

POST /api/connectors/v1/payments/fail

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


data
hash, optional
Wrapper for the data.
Related Errors
Class Code Description
SessionClosed 400 Session specified in request is already closed and cannot be modified.
ConfigurationError 400 Missing configurations in dashboard.
SessionExpired 401 Found session is expired and cannot be processed anymore.
AuthorizationMissing 401 Authorization header is missing.
PaymentNotFound 404 Payment specified in request does not exist or cannot be retrieved.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ProviderDisabled 406 Cooperation with specified Provider is impossible.

Sessions

Success

Success callback should be sent to Salt Edge PSD2 Compliance when all required verification steps have been passed, and therefore access is granted.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fc2VjcmV0IjoiV3VSQ2p1Zlg5b1Z5eW12UFFRaV8iLCJiZW5lZmljaWFyeV9pZCI6IjQ5NCIsImlkZW50aWZpZXJzIjp7fX0sImV4cCI6MTcxNDc4NjU5Mn0.ETWjSklWTUnJygBD_hov9nVxeSTgCuUlfn7pukWuapPeMWIZO93rUyM7nvE7txTc9haAVnuEYKUCPvzSDwd_on0QLPEMehmDmYphJS4JIMMDGu76yLx1SS_GXeeASMIFrey7FKp8GbIa5a_QkZpoUvhMiEEiIjP5GtHP2KnIAK4ctcmDnGruqogQM_jKWmRoZbZ47AYpMXtIj66nRDbCYM-x-VpaD3-h3HRDufH6AcgivhvqHB_BL25J1nYbTovR2ESshkrLBlgB3jzyZk_qzK1CR9t3jDJSBcdkFPkWdVZIrWqQqB-B1c8txqzfiwOIjExqPvADWQPzwVW97pS5aA" \ 
 -H "App-Id: qjQYP-jCx-8FBsZSgNVzIw" \ 
 -H "App-Secret: -XeeN2UhtdphUGtI-FZpzg" \ 
 -X POST "/api/connectors/v1/sessions/success"

Example of request parameters

Example of response

{"data":{},"meta":{"time":"2019-11-18T16:04:48.773Z"}}
Request

POST /api/connectors/v1/sessions/success

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


data
hash, optional
Wrapper for the data.
Related Errors
Class Code Description
SessionClosed 400 Session specified in request is already closed and cannot be modified.
ConfigurationError 400 Missing configurations in dashboard.
SessionExpired 401 Found session is expired and cannot be processed anymore.
AuthorizationMissing 401 Authorization header is missing.
SessionNotFound 404 Session specified in request does not exist or cannot be retrieved.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ActionNotAllowed 406 You're not allowed to perform this action. This might be a configuration problem or parameters incompatibility.
ProviderDisabled 406 Cooperation with specified Provider is impossible.

Update

Update callback may be accessed multiple times in order to request multiple steps of authorization or to send other updates to Salt Edge PSD2 Compliance session.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fZXhwaXJlc19hdCI6IjIwMTktMTEtMThUMTY6MDk6NDguODcyWiIsInNlc3Npb25fc2VjcmV0IjoiSHMteGM4b3pBV0xrMXh0X3pUNHYiLCJzdGF0dXMiOiJ3YWl0aW5nX2NvbmZpcm1hdGlvbl9jb2RlIiwiZXh0cmEiOnt9fSwiZXhwIjoxNzE0Nzg2NTkzfQ.TZyzKHk62mj202ZyqadkrpciVVfC84Y6lGVWOPbATKr86hCrPJGMZo8mdo92JPq4yIOPicTkzTNmNtI7HTsowMCqxU5pNCSNQ620lURvdvPFr16zNbhpoEwnN3prbUX6ey_p6X1lHnwyDQpudEGt97iiHEbR3CFcGeN24cOoNRu2VLdiomzHVL6TmhuLTOEWrXGVmYyU_p7VF7NtIOFIL6c62mFl9oQOaDNpjLAiFWrUqM4L4W_sjQ_lSJYIMh9c4Njhwjf60ow8STqBYWV1RYdPsIvm4SxR6ARHdw6ltSL8Sz3IkRyItuekKm7Pu4Ek0615VAwA3lZMKjVaXVP-DA" \ 
 -H "App-Id: q5QE7Dqlpm1d5weLS5pn7w" \ 
 -H "App-Secret: y8imt1cgG8x2zmBMrF-oxw" \ 
 -X POST "/api/connectors/v1/sessions/update"

Example of request parameters

Example of response

{"data":{},"meta":{"time":"2019-11-18T16:04:48.853Z"}}
Request

POST /api/connectors/v1/sessions/update

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


data
hash, optional
Wrapper for the data.
Related Errors
Class Code Description
SessionClosed 400 Session specified in request is already closed and cannot be modified.
ConfigurationError 400 Missing configurations in dashboard.
SessionExpired 401 Found session is expired and cannot be processed anymore.
AuthorizationMissing 401 Authorization header is missing.
SessionNotFound 404 Session specified in request does not exist or cannot be retrieved.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ActionNotAllowed 406 You're not allowed to perform this action. This might be a configuration problem or parameters incompatibility.
ProviderDisabled 406 Cooperation with specified Provider is impossible.

Fail

Fail callback should be used when authorization process has been compromised for any reason: broken request, invalid credentials, etc.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fc2VjcmV0IjoiM1BRaXB1RFBvV3BhMTFGY1ZFVjYiLCJlcnJvcl9jbGFzcyI6IkludGVybmFsUHJvdmlkZXJFcnJvciIsImVycm9yX21lc3NhZ2UiOiJJbnRlcm5hbCBlcnJvciIsImV4dHJhIjp7fX0sImV4cCI6MTcxNDc4NjU5M30.QlVUlqp8RdI_32ymtBVfgJT8s1hObD1FdqWZNJTW2lqa_4daIaqcwK7onl9SrYi-y2sQiH7iZk8X_jwmf719uWb7smuKR_9Ll8nqVGyaQtPEF4J5mPYI7Y37A6BWknS2f0DUbswrFN-446Juf_hGJhVt1IDQGqvmRuJIFxiGG5R6CwKN_9_QNdtgkElQUZe9covFJSZD1Uhqa3g9EDYx1eOs0qrjYrYjiBBHb1pIFakA2Zs3GmL6A_wHFnyLBoJqexQHO4CDpCwsogze0etT62kbzUazNaO3RH-GeHhasPOFHsXAx4enwSEDRLmEYxdoXy_jFPA3nxwKBZrB0b8u9Q" \ 
 -H "App-Id: xU7SyhPrd95GAPSMNo_XMQ" \ 
 -H "App-Secret: BVSkESo7zpRdzk_hWUUwCQ" \ 
 -X POST "/api/connectors/v1/sessions/fail"

Example of request parameters

{"data":{"session_secret":"3PQipuDPoWpa11FcVEV6","error_class":"InternalProviderError","error_message":"Internal error","extra":{}},"exp":1574093208}

Example of response

{"data":{},"meta":{"time":"2019-11-18T16:04:48.710Z"}}
Request

POST /api/connectors/v1/sessions/fail

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


data
hash, optional
Wrapper for the data.
Related Errors
Class Code Description
SessionClosed 400 Session specified in request is already closed and cannot be modified.
ConfigurationError 400 Missing configurations in dashboard.
SessionExpired 401 Found session is expired and cannot be processed anymore.
AuthorizationMissing 401 Authorization header is missing.
SessionNotFound 404 Session specified in request does not exist or cannot be retrieved.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ActionNotAllowed 406 You're not allowed to perform this action. This might be a configuration problem or parameters incompatibility.
ProviderDisabled 406 Cooperation with specified Provider is impossible.

Clients

Info

All requests that are forwarded by Salt Edge PSD2 Compliance Solution are signed by TPP applications. Provider can decide whether to decode the original request by itself or use decoded payload by Salt Edge PSD2 Compliance Solution which is stored in client_payload key. In order to decode the client_jwt, Connector has to perform the following request to obtain TPP's public key. The client_id is present in Client-Id header along with Authorization header.

CURL

curl -i  \ 
 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImNsaWVudF9pZCI6NTE3fSwiZXhwIjoxNzE0Nzg2NTkzfQ.kC8ETPAdk26z_Gh7312eURmkzlgNVh-Mygz8ip1WEvqIohgfCmSxZ8S73otm8T3Ya4RuCzU4ggQ-JD8X4iXUABPftxZhhCsxOtj_xLBr725NmpTPBb5SdEe55IwQW-tyqbRGM2iGfMhKRgxUr30Z3F336QW1daJP9lqOh5loKld0UHNT4sPqkuIZt6rKwm9yrUIEDztGIQ2pCX-lzci3cUyiMm4WwNotuF4-DDWReWaRO5g2H65769ATZdaQMSCrJSc7ZSIB-WKjR64fRbIxlwi9qjh1d5ialJjmfCPhLrZcdxs-9cyGvHAlkLxpq9d8vBZzkCg91ttmvoap01mGxg" \ 
 -H "App-Id: hAnmNmGFFBN3W_jNWJd_fQ" \ 
 -H "App-Secret: h6rzA_lw2wVuCpDaBKlxAA" \ 
 -X GET "/api/connectors/v1/clients/info"

Example of request parameters

{"data":{"client_id":517},"exp":1574093208}

Example of response

{"data":{"name":"Fentury","scopes":["accounts","transactions","kyc"],"public_key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0\nFPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/\n3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB\n-----END PUBLIC KEY-----"},"meta":{"time":"2019-11-18T16:04:48.271Z"}}
Request

GET /api/connectors/v1/clients/info

Headers
Header Type Description
Authorization string, required JSON Web Token containing payload, signed using RSA256 and application.private_key. Can raise: AuthorizationMissing
App-Id string, required Provider's app_id from connection details tab. Can raise: ProviderNotFound, ProviderDisabled, ConfigurationError
App-Secret string, required Provider's app_secret from connection details tab.
Unpacked Request Authorization
exp
integer, required
The lifetime of the request in timestamp UTC format. Values greater than: Current time.
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.


Related Errors
Class Code Description
ConfigurationError 400 Missing configurations in dashboard.
AuthorizationMissing 401 Authorization header is missing.
ProviderNotFound 404 Provider specified in request does not exist or cannot be retrieved.
ProviderDisabled 406 Cooperation with specified Provider is impossible.