PISP
As a PISP, you are allowed to authenticate in a user’s account with the following permissions:
read account information (via
GET /user
):legal name;
IBAN;
initiate payments (create draft payments via either
POST /user/{userID}/monetary-account/{monetary-accountID}/draft-payment
orPOST /user/{userID}/payment-service-provider-draft-payment
) and read their statuses;confirm that the account balance is sufficient for covering the payment (via
POST /user/{userID}/confirmation-of-funds
).
The bunq API provides endpoints for different scenarios of the implementation of the payment initiation functionality. In particular, as a PISP user, you can build applications that initiate and authorize one-off or multiple incoming payments. Depending on the use case you are intending to deploy, you might need to initiate the OAuth authorization either before or after the payment initiation.
Authorization of multiple (scheduled) payments
It is possible to initiate payments from a bunq user's account having previously established an OAuth connection between your application and the bunq user's account. The bunq user will receive push notifications for each initiated payment.
Once a bunq user has confirmed they want to make payments via your application, you can initiate the payment confirmation flow.
Create a draft payment via
POST /user/{userID}/monetary-account/{monetary-accountID}/draft-payment
passing the following parameters:
monetary-accountId and userId
(userApiKey
'sid
; see OAuth for more information) in the endpoint URL;the customer’s email address, phone number, or IBAN in the
counterparty_alias
field of the request body.
If the user confirms their intent to make the payment, bunq carries out the transaction.
Check the status of the payment via
GET /user/{userID}/monetary-account/{monetary-accountID}/draft-payment
using the draft payment
id
parameter returned in the previous step.
Single payment authorization
It is possible to initiate payments having only the IBAN of the payer using POST /user/{userID}/payment-service-provider-draft-payment
. In this case, the bunq user will accept the payment along with the authorization request. No additional push notifications are sent to the user.
Collect the bunq user's IBAN (and name) in the UI of your application.
Create a draft payment via
POST /user/{userID}/payment-service-provider-draft-payment
.Initiate an authorization request. Upon the QR-code scan, the bunq user will see and be able to either accept or reject the payment authorization request.
Check the status of the payment.
Last updated