DropPay API - Bank v.1 - Mav e RAV¶
REST Entities¶
Every REST entity is described listing her properties with the following formatting conventions:
- this is a property name
this is an example of property value
- (type, policy, direction) is the specification of a property
- type can be "string", "number", "object" or a proper object class name
- policy can be "optional" or "required"
- direction can be "posted" or "received" depending on whether you set it in the request or you got it from the response
- after the dash "-" there's the property description
name: example_value
(type, policy, direction) - Property description
Mav¶
Mav
- id:
SEM1234568UN8
(string, returned) - Unique ID of the push order - description:
my label
(string, optional, posted) - Description of the push order - transfer_description:
my label
(string, optional, posted) - Description of the reason of the single transfer the Push order is issueing - amount:
50.00
(number, required, posted) - Amount of money to be transferred - fee:
0.99
(number, returned) - Service fee - date_creation:
2016-07-16T19:20:30+01:00
(string, returned) - Date the Push order has been POSTed - date_last_modified:
2016-07-16T19:20:30+01:00
(string, returned)- Last date the Push order has been modified - date_scheduled:
2016-07-16T19:20:30+01:00
(string, returned)- Planned date of the very first transfer's execution - date_recipient:
2016-10-12
(string, returned)- Reecipient accounting date (useful only in SEPA/SCT operation ) - recurrence (object, optional, posted)
- period:
P2M
(string, required, posted) - ISO8061 duration representation (in this example "two months recurrence") - count:
10
(number, optional, posted) - Number of desired recurrences. Unset this to let the count undefined. - date_end:
2016-07-16T19:20:30+01:00
(string, posted)- Recurrence end date
- period:
- source (SourceInfo, optional, posted/returned) - Money sending identity and account.
- recipient (RecipientInfo, required, posted) - Recipient data
- status (enum, required, returned/posted)
- enum members
- DRAFT - push order is still a work in progress resource and cannot be scheduled
- READY - push order is ready to be scheduled (approved) with second factor disposition protocol
- SCHEDULED - push order has been scheduled (approved) and will be executed at
date_scheduled
- FAILED - push order failed and cannot generate any more transfers
- RUNNING - push order is running: it has performed at least one transfer and more are to come
- DONE - push order has completed its job and is not going to perform any more transfers
- REVOKED - push order has been revoked by user after have been performed at least a transfer (coming from
RUNNING
status) - CANCELLED - push order has been cancelled before having performed any transfer (coming from SCHEDULED)
- DELETED - push order has been cancelled before have been scheduled (coming from READY, DRAFT statuses)
- REFUSED - user has explicitly refused to schedule the push order during the second factor disposition flow
- FAILURE - when a batched push is not validated, not saved and the
status_description
attribute is valued - WAITING_APPROVAL - SEPA SCT higher than 1.500,00€ will be stopped waiting for A-Tono Payment Institute backoffice approval
- NOT_APPROVED - SEPA SCT amount was higher than 1.500,00€ and has been stopped by A-Tono Payment Institute backoffice
- enum members
- webhooks
- all:
https://credenA:credenB@app.server.com/listener
(string, optional, posted) - your listener endpoint (port 80 or 443) for all Push events
- all:
- sharing:
https://dp.link/u/2/SEM1234568UN8
(string, required, returned)
SourceInfo
- id:
BAC123456789
(string, required, returned) - Source DropPay Account Public ID - username:
3351234567
(string, optional, returned) - Source user's username - acccount_iban:
IT63B3606400003351234567
(string, optional, returned) - sending account IBAN; - account:
IT63B3606400003351234567
(string, optional, posted) - source DropPay account, an IBAN. - owner
- name:
John Kennedy
(string, optional) - source user's name - logo:
http
(string, optional) - source user's logo icon if available
- name:
RecipientInfo
- id:
BAC123456789
(string, optional) - Recipient DropPay virtual account Public id - username:
3351234567
(string, optional, returned) - Recipient user's username if a DropPay account owner - account_iban:
IT63B3606400003351234567
(string, optional) - recipient account IBAN; - account:
IT63B3606400003351234567
(string, optional) - Recipient DropPay virtual account, can be an IBAN. - owner
- name:
John Kennedy
(string, optional) - recipient user's name - logo:
http
(string, optional) - recipient user's logo icon
- name:
- bank_name:
Fineco Bank
(string) - recipient's bank name
PushTransfer
- id:
SMP1234568UN8
(string, required, returned) - unique ID of the transfer - push_id:
SEM1234568UN8
(string, required, returned) - unique ID of generating Push - source (SourceInfo, optional, returned) - Sending identity and account.
- recipient (RecipientInfo, required, returned) - Recipient party identity and account
- amount:
100.00
(number, required,posted) - Transfer amount - fee:
1.00
(number, required,returned) - DropPay service Fee - description:
the reason
(string, required, posted) - Operation narrative of the payment reason - status:
DONE
(enum, required, returned) - Status of transfer execution- enum members
- BOOKED
- ACCOUNTED
- FAILED
- enum members
- trnid:
3606400020619212480160001600IT
(string) - Transaction ID if SEPA SCT - date_creation:
1997-07-16T19:20:30+01:00
(string) - Transfer creation date and time (ISO 8601) - date_accounted:
1997-07-16T19:20:30+01:00
(string) - Transfer accounting date and time (ISO 8601) - date_recipient:
2016-10-12
(string) - Transfer settlement date and time (ISO 8601)
REST Endpoints¶
Security¶
Requests must be authenticated with User Access Token. User Access Token can be obtained requesting it with and active Connection Code.
Details at Authentication v.1 API Reference
Push¶
DropPay Push API publishes the following methods :
- POST a new Push order entity to send money
- GET the Push order entity to read the order status;
- PATCH the Push order entity to modify the order attributes until it is set with second factor disposition protocol;
- DELETE the Push order entity
POST Create a new Push order
Create a new Push order¶
Example¶
Request¶
curl --request POST
--url https://api.drop-pay.io/bank/v1/push
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
--header 'content-type:application/json'
{
"amount": 120.00,
"description": "Sending money",
"transfer_description": "Sending money / first payment",
"recipient": {
"account": "IT60X0542811101000000123456",
"owner": {
"name": "Edward Teach"
}
},
"status": "DRAFT"
}
Response 200
{
"id": "SEM1234568UN8",
"description": "Sending money",
"transfer_description": "Sending money / first payment",
"amount": 120.00,
"fee": 1.00,
"date_creation": "2016-07-16T19:20:30+01:00",
"date_last_modified": "2016-07-16T19:20:30+01:00",
"date_scheduled": "2016-07-16T19:20:30+01:00",
"date_recipient": "2016-10-12",
"recurrence": {
"period": "P2M",
"count": 10,
"date_end": "2016-07-16T19:20:30+01:00"
},
"recipient": {
"acccount_iban": "IT60X0542811101000000123456",
"account": "IT60X0542811101000000123456",
"owner": {
"name": "Edward Teach",
}
"bank_name": "Fineco Bank"
},
"source": {
"id": "BAC123456789",
"username": "3351234567",
"account_iban": "IT63B3606400003351234567",
"account": "IT63B3606400003351234567",
"owner": {
"name": "John Kennedy",
}
},
"status": "DRAFT",
"sharing": "https://dp.link/u/2/SEM1234568UN8",
}
GET Read a Push order
Read an existent Push order¶
Example¶
Request¶
curl --request GET
--url https://api.drop-pay.io/bank/v1/push/SEM1234568UN8
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
Response 200
{
"id": "SEM1234568UN8",
"description": "Sending money",
"transfer_description": "Sending money / first payment",
"amount": 120.00,
"fee": 1.00,
"date_creation": "2016-07-16T19:20:30+01:00",
"date_last_modified": "2016-07-16T19:20:30+01:00",
"date_scheduled": "2016-07-16T19:20:30+01:00",
"date_recipient": "2016-10-12",
"recurrence": {
"period": "P2M",
"count": 10,
"date_end": "2016-07-16T19:20:30+01:00"
},
"recipient": {
"acccount_iban": "IT60X0542811101000000123456",
"account": "IT60X0542811101000000123456",
"owner": {
"name": "Edward Teach",
}
"bank_name": "Fineco Bank"
},
"source": {
"id": "BAC123456789",
"username": "3351234567",
"account_iban": "IT63B3606400003351234567",
"account": "IT63B3606400003351234567",
"owner": {
"name": "John Kennedy",
"logo": "url://"
}
},
"status": "DRAFT",
"sharing": "https://dp.link/u/2/SEM1234568UN8",
}
Response 400
{
"code": "100",
"description": "Missing arguments"
}
PATCH Modify a Push order
Modify an existent Push order¶
Example¶
Request¶
curl --request PATCH
--url https://api.drop-pay.io/bank/v1/push/SEM145123G6YY
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
{
"status": "READY"
}
Response 200
{
"id": "SEM1234568UN8",
"description": "Sending money",
"transfer_description": "Sending money / first payment",
"amount": 120.00,
"fee": 1.00,
"date_creation": "2016-07-16T19:20:30+01:00",
"date_last_modified": "2016-07-16T19:20:30+01:00",
"date_scheduled": "2016-07-16T19:20:30+01:00",
"date_recipient": "2016-10-12",
"recurrence": {
"period": "P2M",
"count": 10,
"date_end": "2016-07-16T19:20:30+01:00"
},
"recipient": {
"acccount_iban": "IT60X0542811101000000123456",
"account": "IT60X0542811101000000123456",
"owner": {
"name": "Edward Teach",
}
"bank_name": "Fineco Bank"
},
"source": {
"id": "BAC123456789",
"username": "3351234567",
"account_iban": "IT63B3606400003351234567",
"account": "IT63B3606400003351234567",
"owner": {
"name": "John Kennedy",
"logo": "url://"
}
},
"status": "READY",
"sharing": "https://dp.link/u/2/SEM1234568UN8",
}
Response 400
{
"code": "100",
"description": "Missing arguments"
}
DELETE Delete a Push order
Delete an existent Push order¶
Delete method changes semanthic depending upon origin status, so :
- if origin status is
DRAFT
orREADY
, delete moves order toDELETED
- if origin status is
SCHEDULED
, delete moves order toCANCELLED
- if origin status is
RUNNING
, delete moves order toREVOKED
Example¶
Request¶
curl --request DELETE
--url https://api.drop-pay.io/bank/v1/push/SEM145123G6YY
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
Response 200
{
"id": "SEM1234568UN8",
"description": "Sending money",
"transfer_description": "Sending money / first payment",
"amount": 120.00,
"fee": 1.00,
"date_creation": "2016-07-16T19:20:30+01:00",
"date_last_modified": "2016-07-16T19:20:30+01:00",
"date_scheduled": "2016-07-16T19:20:30+01:00",
"date_recipient": "2016-10-12",
"recurrence": {
"period": "P2M",
"count": 10,
"date_end": "2016-07-16T19:20:30+01:00"
},
"recipient": {
"acccount_iban": "IT60X0542811101000000123456",
"account": "IT60X0542811101000000123456",
"owner": {
"name": "Edward Teach",
}
"bank_name": "Fineco Bank"
},
"source": {
"id": "BAC123456789",
"username": "3351234567",
"account_iban": "IT63B3606400003351234567",
"account": "IT63B3606400003351234567",
"owner": {
"name": "John Kennedy",
"logo": "url://"
}
},
"status": "DELETED",
"sharing": "https://dp.link/u/2/SEM1234568UN8",
}
Response 400
{
"code": "100",
"description": "Missing arguments"
}
Push Listing¶
DropPay Push API publishes the following listing method :
- GET the list of Push order entities to read the order status;
GET Listing Pushes
Listing Pushes¶
curl --request GET
--url https://api.drop-pay.io/bank/v1/pushes/{?iban,status,description,type,date_from,date_to,order_by,order_dir,pg_num,pg_size}
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
URL Parameters
- iban:
IT123456789
- iban the pushes refer to - status:
DRAFT,READY,...
- Push's statuses csv - description: (string, optional)
- type:
SCT|DPCT
(string, optional) - Sct or DropPay Credit Transfer - date_from:
1997-07-16T19:20:30+01:00
(string, optional) - date_to:
1997-07-16T19:20:30+01:00
(string, optional) - order_by: (enum, optional)
- enum members
- date_creation:
- date_schedule:
- enum members
- order_dir: (enum, optional)
- enum members
- asc
- desc
- enum members
- pg_num: 0 (number)
- pg_size: 100 (number)
Response 200
Response 200¶
{
"pushes": [
{},
{},
{}
]
"paging_info": {
"current_page": 0,
"total_pages": 1,
"page_size": 100,
"total_items": 3,
"items_offset": 1
}
}
Response 400
{
"code": "100",
"description": "Missing arguments"
}
Push Transfers¶
GET Read a specific Push Transfer
Example¶
Request¶
curl --request GET
--url https://api.drop-pay.io/bank/v1/push/transfer/SMP145123G6YY
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
URL Parameters
- id:
SMP145123G6YY
- unique ID of the push order
Response 200
{
"id": "SMP1234568UN8",
"push_id": "SEM1234568UN8",
"recipient": {
"acccount_iban": "IT60X0542811101000000123456",
"account": "IT60X0542811101000000123456",
"owner": {
"name": "Edward Teach",
}
"bank_name": "Ocracoke Bank"
},
"source": {
"id": "BAC123456789",
"username": "3351234567",
"account_iban": "IT63B3606400003351234567",
"account": "IT63B3606400003351234567",
"owner": {
"name": "John Kennedy",
"logo": "url://"
}
},
"amount": 120,
"fee": 1,
"description": "Sending money / first payment",
"status": "BOOKED",
"trnid": "3606400020619212480160001600IT",
"date_creation": "1997-07-16T19:20:30+01:00",
"date_accounted": "1997-07-16T19:20:30+01:00",
"date_recipient": "2016-10-12"
}
Response 400
{
"code": "100",
"description": "Missing arguments"
}
GET Listing Push Transfers
Listing Push Transfers¶
Example¶
Request¶
curl --request GET
--url https://api.drop-pay.io/bank/v1/push/{id}/transfers{?iban,role,status,description,type,date_from,date_to,pg_num,pg_size}]
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
URL Parameters
- id:
SEM145123G6YY
- unique ID of the push order (-1 if you want trasfers of all pushes) - status:
BOOKED, TRANSFER, FAILED
- Transfer's statuses csv - description: (string, optional)
- type:
SCT|DPCT
(string, optional) - SEPA or DropPay Credit Transfer - date_from:
1997-07-16T19:20:30+01:00
(string, optional) - date_to:
1997-07-16T19:20:30+01:00
(string, optional) - pg_num: 0 (number)
- pg_size: 100 (number)
Response 200
##### :arrow_down: Response ==200==
``` json
{
"transfers": [
{},
{},
{}
],
"paging_info": {
"current_page": 0,
"total_pages": 1,
"page_size": 100,
"total_items": 3,
"items_offset": 1
}
}
```
Response 400
{
"code": "100",
"description": "Missing arguments"
}