Intents
Authenticate requests using HTTP Basic Auth by adding a bearer token to the header, e.g. Authentication: Bearer {{access_token}}
. You can get the {{access_token}}
from the create token request.
Once a payment intent is processed i.e. payment is done using any payment type, it can’t be used again to perform another transaction.Each payment intent can be used for only one payment type.
Please follow the below structure for respective payment form where ccElement
or ccMotoElement
will be added. Here a custom css file has been added to support different card layout (i.e. single-line and multi-line).
If Stripe is enabled in merchant account, then stripeElement
and stripeMotoElement
will be returned in response instead of ccElement
and ccMotoElement
.
<head>
...
<script src="https://secure.blinkpayment.co.uk/assets/css/api.css"></script>
...
</head>
<body>
....
</body>
Create intent
POST /pay/v1/intents
Headers
Content-Type string
Content type.
Authorization string
Access token generated from create token request.
Â
Attributes
amount float
Transaction amount.
payment_type string
Can only be one of the following:
credit-card
direct-debit
open-bankingÂ
transaction_type string (optional)
Default value is set to SALE
. If passed, it can only be one of the following:
SALE
VERIFY
PREAUTHÂ
CREDIT
delay_capture_days integer (optional)
Number of days, the transaction will be delayed for. This field can be passed only for SALE, REFUND_SALE and REFUND type transaction.
currency string
Three letter currency code (ISO 4217) e.g USD, GBP.
reutrn_url string
GET URL on your domain, where Blink will redirect after transaction is processed e.g. https://mydomain.com/return
.
notification_url string
POST URL on your domain, where Blink will send status updates when the transaction status is changed e.g. https://mydomain.com/notification
.
card_layout string (optional)
To get different structure of card layout for any transaction , this parameter is passed. This field is optional. If not passed, default value is basic
.
basic
single-line
multi-line
customer_name string (optional)
Customer name.
customer_email string (optional)
Customer email.
customer_address string (optional)
Customer address.
customer_postcode string (optional)
Customer postcode.
Request
POST https://secure.blinkpayment.co.uk/api/pay/v1/intents HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG...
{
"amount": 1.01,
"transaction_type": "SALE",
"delay_capture_days": 3,
"payment_type": "credit-card",
"currency": "GBP",
"return_url": "https://mydomain.com/return",
"notification_url": "https://mydomain.com/notification"
}
Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 123,
"payment_intent": "pi_Swhc84aSLtUGppvPARX...",
"transaction_type": "SALE",
"expiry_date": "2023-04-19T10:19:17Z",
"amount": 1.01,
"currency": "GBP",
"payment_type": "credit-card",
"return_url": "https://mydomain.com/return",
"notification_url": "https://mydomain.com/notification",
"card_layout": "single-line",
"element": {
"ccElement": "<input type=\"hidden\" name=\"merchantID\" value=\"14456\"/>\n <input type=\"hidden\" name=\"payment_intent\" value=\"pi_pqXuNE8rO************************1I2uPcipp1d8qSDTSPIucQyrNNa1UiyBYsBTCffUn9zkGVd3a_94uxXgNb-LD5jaMk\"/>\n <input type=\"hidden\" name=\"resource\" value=\"creditcards\"/>\n <input type=\"hidden\" name=\"transaction_unique\" value=\"OiXWrlnKvvfh\"/>\n <input type=\"text\" name=\"customer_name\" value=\"\" placeholder=\"Name on card\" /><br>\n <input type=\"text\" name=\"customer_email\" value=\"\" placeholder=\"Email\"/><br><input type=\"text\" placeholder=\"Address\" name=\"customer_address\" value=\"\" /><br>\n <input type=\"text\" placeholder=\"Postcode\" name=\"customer_postcode\" value=\"\" /><br><input type=\"hostedfield:cardNumber\" placeholder=\"1234 1234 1234 1234\"/><br>\n <input type=\"hostedfield:cardExpiryDate\" placeholder=\"MM/YY\"/><br>\n <input type=\"hostedfield:cardCVV\" placeholder=\"CVV\"/><br>\n <input type=\"hidden\" id=\"device_timezone\" name=\"device_timezone\" /><br>\n <input type=\"hidden\" id=\"device_capabilities\" name=\"device_capabilities\" /><br>\n <input type=\"hidden\" id=\"device_accept_language\" name=\"device_accept_language\" /><br>\n <input type=\"hidden\" id=\"device_screen_resolution\" name=\"device_screen_resolution\" /><br>\n <input type=\"hidden\" id=\"remote_address\" name=\"remote_address\" /><br>\n input type=\"hidden\" id=\"type\" name=\"type\" value=\"1\"/><br>",
"ccMotoElement": "<input type=\"hidden\" name=\"merchantID\" value=\"145671\"/>\n <input type=\"hidden\" name=\"payment_intent\" value=\"pi_pqXuNE8rOEmUN0vtQqgf8NnkuQJq4LyOVVz-nz*************************QyrNNa1UiyBYsBTCffUn9zkGVd3a_94uxXgNb-LD5jaMk\"/>\n <input type=\"hidden\" name=\"resource\" value=\"creditcards\"/>\n <input type=\"hidden\" name=\"transaction_unique\" value=\"OiXWrlnKvvfh\"/>\n <input type=\"text\" name=\"customer_name\" value=\"\" placeholder=\"Name on card\" /><br>\n <input type=\"text\" name=\"customer_email\" value=\"\" placeholder=\"Email\"/><br><input type=\"text\" placeholder=\"Address\" name=\"customer_address\" value=\"\" /><br>\n <input type=\"text\" placeholder=\"Postcode\" name=\"customer_postcode\" value=\"\" /><br><input type=\"hostedfield:cardNumber\" placeholder=\"1234 1234 1234 1234\"/><br>\n <input type=\"hostedfield:cardExpiryDate\" placeholder=\"MM/YY\"/><br>\n <input type=\"hostedfield:cardCVV\" placeholder=\"CVV\"/><br>\n <input type=\"hidden\" id=\"type\" name=\"type\" value=\"2\"/><br>",
"ddElement": "<input type=\"hidden\" name=\"payment_intent\" value=\"pi_pqXuNE8rOEmUN0vtQqgf8NnkuQJq4LyOVVz-nzcR81I2uPcipp1d8qSDTSPIucQyrNNa1UiyBYsBTCffU*******************uxXgNb-LD5jaMk\"/>\n <input type=\"hidden\" name=\"transaction_unique\" value=\"OiXWrlnKvvfh\"/>\n <input type=\"hidden\" name=\"resource\" value=\"directdebits\"/>\n <input type=\"text\" placeholder=\"Given Name\" name=\"given_name\"/><br>\n <input type=\"text\" placeholder=\"Family Name\" name=\"family_name\"/><br>\n <input type=\"text\" placeholder=\"Company Name\" name=\"company_name\"/><br>\n <input type=\"text\" placeholder=\"Email\" name=\"email\"/><br><input type=\"text\" placeholder=\"Address\" name=\"customer_address\" value=\"\" /><br>\n <input type=\"text\" placeholder=\"Postcode\" name=\"customer_postcode\" value=\"\" /><br><input type=\"text\" placeholder=\"Account Holder Name\" name=\"account_holder_name\"/><br>\n <input type=\"text\" placeholder=\"Branch Code\" name=\"branch_code\"/><br>\n <input type=\"text\" placeholder=\"Bank Account Number\" name=\"account_number\"/><br>",
"obElement": "<input type=\"hidden\" name=\"merchant_id\" value=\"140567\"/>\n <input type=\"hidden\" name=\"payment_intent\" value=\"pi_pqXuNE8rOEmUN0vtQq*************************d8qSDTSPIucQyrNNa1UiyBYsBTCffUn9zkGVd3a_94uxXgNb-LD5jaMk\"/>\n <input type=\"hidden\" name=\"resource\" value=\"openbankings\"/>\n <input type=\"hidden\" name=\"transaction_unique\" value=\"OiXWrlnKvvfh\"/>\n <input type=\"text\" name=\"user_name\" value=\"\" placeholder=\"Name on card\" /><br>\n <input type=\"text\" name=\"user_email\" value=\"\" placeholder=\"Email\"/><br><input type=\"text\" placeholder=\"Address\" name=\"customer_address\" value=\"\" /><br>\n <input type=\"text\" placeholder=\"Postcode\" name=\"customer_postcode\" value=\"\" /><br>",
"stripeElement": "<script src=\"https://dev.blinkpayment.co.uk/assets/js/admin/jquery.min.js\"></script>\n<script src=\"https://dev.blinkpayment.co.uk/assets/js/api/inputmask.min.js\"></script>\n <script src=\"https://dev.blinkpayment.co.uk/assets/js/api/payment.min.js\"></script>\n<script src=\"https://dev.blinkpayment.co.uk/assets/js/api/stripe-api.js\"></script>\n <script async crossorigin src=\"https://js.stripe.com/v3/\" onload=\"initStripe('sk****')"></script><input type=\"hidden\" class=\"blink-form__input--merchant-id\" name=\"merchant_id\" value=\"465\"/>\n <input type=\"hidden\" class=\"blink-form__input--payment-intent\" name=\"payment_intent\" value=\"pi_DhxzQk5_eguMsE72MIUPO0OWL-t5yP*********************OKjvHMKS46bWEKnsWqoOoiQdo-dAvpIM\"/>\n <input type=\"hidden\" class=\"blink-form__input--resource\" name=\"resource\" value=\"creditcards\"/>\n<input type=\"hidden\" class=\"blink-form__input--transaction-unique\" name=\"transaction_unique\" value=\"vx2j53Z1fdZK\"/>\n <input type=\"hidden\" class=\"blink-form__input--payment-intent-client-secret\" name=\"payment_intent_client_secret\" value=\"pi_************kHzdD_secret_VL8BwGR5XrBx1DmSkFdlKuima\"/>\n<input type=\"hidden\" class=\"blink-form__input--payment-intent-api-base-url\" name=\"api_base_url\" value=\"https://dev.blinkpayment.co.uk/api/pay/v1/post-transaction-data\"/>\n<input type=\"hidden\" class=\"blink-form__input--stripe-account-id\" name=\"stripe_account_id\" value=\"acct_1OtRDuQfmx6p8NnM\"/>\n <input type=\"hidden\" class=\"blink-form__input--gateway\" name=\"gateway\" value=\"stripe\"/><label class=\"blink-form__label field-label\">Card information</label>\n <div class=\"blink-form__group fieldgroup-container relative no-wrap mb-4\">\n <div id=\"card-number-element\" class=\"field\"></div>\n <div id=\"card-expiry-element\" class=\"field\"></div>\n <div id=\"card-cvc-element\" class=\"field\"></div>\n </div><label class=\"blink-form__label field-label\">Name on card</label>\n<div class=\"blink-form__group fieldgroup-container mb-4\">\n <input type=\"text\" class=\"blink-form__input--customer-name\" name=\"customer_name\" value=\"\" />\n </div>\n<label class=\"blink-form__label field-label\">Email</label>\n <div class=\"blink-form__group fieldgroup-container mb-4\">\n <input type=\"text\" class=\"blink-form__input--customer-email\" name=\"customer_email\" value=\"\" />\n </div><label class=\"blink-form__label field-label\">Address</label>\n<div class=\"blink-form__group fieldgroup-container mb-4\">\n<div class=\"blink-form__group-child fieldgroup-child--width-8\">\n <input type=\"text\" class=\"blink-form__input--customer-address\" name=\"customer_address\" value=\"\" />\n</div>\n<div class=\"blink-form__group-child fieldgroup-child--width-4\">\n<input type=\"text\" class=\"blink-form__input--customer-postcode\" name=\"customer_postcode\" value=\"\" placeholder=\"Postcode\" />\n</div>\n</div><div class=\"error\"></div>,
"stripeMotoElement": "<script src=\"https://dev.blinkpayment.co.uk/assets/js/admin/jquery.min.js\"></script>\n<script src=\"https://dev.blinkpayment.co.uk/assets/js/api/inputmask.min.js\"></script>\n <script src=\"https://dev.blinkpayment.co.uk/assets/js/api/payment.min.js\"></script>\n<script src=\"https://dev.blinkpayment.co.uk/assets/js/api/stripe-api.js\"></script>\n <script async crossorigin src=\"https://js.stripe.com/v3/\" onload=\"initStripe('sk****')"></script><input type=\"hidden\" class=\"blink-form__input--merchant-id\" name=\"merchant_id\" value=\"465\"/>\n <input type=\"hidden\" class=\"blink-form__input--payment-intent\" name=\"payment_intent\" value=\"pi_DhxzQk5_eguMsE72MIUPO0OWL-t5yP*********************OKjvHMKS46bWEKnsWqoOoiQdo-dAvpIM\"/>\n <input type=\"hidden\" class=\"blink-form__input--resource\" name=\"resource\" value=\"creditcards\"/>\n<input type=\"hidden\" class=\"blink-form__input--transaction-unique\" name=\"transaction_unique\" value=\"vx2j53Z1fdZK\"/>\n <input type=\"hidden\" class=\"blink-form__input--payment-intent-client-secret\" name=\"payment_intent_client_secret\" value=\"pi_************kHzdD_secret_VL8BwGR5XrBx1DmSkFdlKuima\"/>\n<input type=\"hidden\" class=\"blink-form__input--payment-intent-api-base-url\" name=\"api_base_url\" value=\"https://dev.blinkpayment.co.uk/api/pay/v1/post-transaction-data\"/>\n<input type=\"hidden\" class=\"blink-form__input--stripe-account-id\" name=\"stripe_account_id\" value=\"acct_1OtRDuQfmx6p8NnM\"/>\n <input type=\"hidden\" class=\"blink-form__input--gateway\" name=\"gateway\" value=\"stripe\"/><label class=\"blink-form__label field-label\">Card information</label>\n <div class=\"blink-form__group fieldgroup-container relative no-wrap mb-4\">\n <div id=\"card-number-element\" class=\"field\"></div>\n <div id=\"card-expiry-element\" class=\"field\"></div>\n <div id=\"card-cvc-element\" class=\"field\"></div>\n </div><label class=\"blink-form__label field-label\">Name on card</label>\n<div class=\"blink-form__group fieldgroup-container mb-4\">\n <input type=\"text\" class=\"blink-form__input--customer-name\" name=\"customer_name\" value=\"\" />\n </div>\n<label class=\"blink-form__label field-label\">Email</label>\n <div class=\"blink-form__group fieldgroup-container mb-4\">\n <input type=\"text\" class=\"blink-form__input--customer-email\" name=\"customer_email\" value=\"\" />\n </div><label class=\"blink-form__label field-label\">Address</label>\n<div class=\"blink-form__group fieldgroup-container mb-4\">\n<div class=\"blink-form__group-child fieldgroup-child--width-8\">\n <input type=\"text\" class=\"blink-form__input--customer-address\" name=\"customer_address\" value=\"\" />\n</div>\n<div class=\"blink-form__group-child fieldgroup-child--width-4\">\n<input type=\"text\" class=\"blink-form__input--customer-postcode\" name=\"customer_postcode\" value=\"\" placeholder=\"Postcode\" />\n</div>\n</div><div class=\"error\"></div>
},
"merchant_id": 134857,
"transaction_unique": "xbKXyWkIL..."
}
Get intents
GET /pay/v1/pay/intents/{id}
Headers
Content-Type string
Content type.
Authorization string
Access token generated from create token request.
Â
Â
Request
Response
Update intents
PATCH /pay/v1/intents/{id}
Payment Intent with status
as active
can only be updated. Once an intent is processed, it can’t be updated.
Headers
Content-Type string
Content type.
Authorization string
Access token generated from create token request.
Â
Attributes
return_url string (optional)
Return url.
notification_url string (optional)
Notification url.
Request
Response
Â
Â