Create Credit Card Payment for ECOM
POST /pay/v1/creditcards
Headers
Content-Type string
Content type.
Authorization string
Access token generated from create token request.
User-Agent string
User agent.
Accept string
Accept
Accept-Encoding string
Accept encoding.
Accept-Charset string
Accept charset.
Attributes
payment_intent string
Payment intent token.
paymentToken string
Payment token generated from Create Payment Token request.
type string (optional)
Type 1 is ECOM
payment and type 2 is MOTO
. Default value is 1 i.e. ECOM
.
raw_amount float (optional)
Payment amount. If not present, it will fetch value from Intent resource.
customer_email string (optional)
Customer email. If not present, it will fetch value from Intent resource.
customer_name string (optional)
Customer name. If not present, it will fetch value from Intent resource.
customer_address string (optional)
User’s address details. If not present, it will fetch value from Intent resource.
customer_postcode string (optional)
User’s postcode. If not present, it will fetch value from Intent resource.
transaction_unique string
Transaction unique.
device_timezone integer
Device timezone value which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
device_capabilities string
Device capabilities which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
device_accept_language string
Device accept language which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
device_screen_resolution string
Device accept language which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
remote_address string
Remote address which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
merchant_data json (optional)
The merchant can add custom key value pairs in JSON format, for example:
{ "my_order_id": 123, "fancy_note": "Order complete", "card_discount": false }
Request
POST https://secure.blinkpayment.co.uk/api/pay/v1/creditcards HTTP/1.1 Content-Type: application/json Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG... User-Agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", Accept: "*/*" Accept-Encoding: "gzip, deflate, br" Accept-Charset: "" { "payment_intent": "pi_Swhc84aSLtUGppvPARX...", "paymentToken": "eyJwYXltZW50VG9rZW4iOns...", "type": 1, "raw_amount": 1.1, "customer_email": "random@email.com", "customer_name": "A Smith", "transaction_unique": "PHnRNzjUw...", "device_timezone" : "-330", "device_capabilities" : "javascript", "device_accept_language" : "en-GB", "device_screen_resolution" : "1366x768x24", "remote_address" : "123.123.123.123", "merchant_data": "{\"my_order_id\": \"cc-12345678\"}" }
Response
HTTP/1.1 200 OK Content-Type: application/json { "acsform": "<form id="form3ds22" method="post" action="https://acs.********"><input type="hidden" name="creq" value="********"> <input type="hidden" name="threeDSPageSessions[427**************][bfreq]" value="*******"> <input type="hidden" name="threeDSPageSessions[427**************][threeDSRef]" value="****"> <input id="btnSubmit" type="submit" class="button expanded btn btn-primary" value="Process Payment"> </form>" }
HTML Page
<!DOCTYPE html> <html> <head> <script> onload = () => document.forms[0].submit(); </script> </head> <body> <form id="form3ds22" method="post" action="https://acs.********"><input type="hidden" name="creq" value="********"> <input type="hidden" name="threeDSPageSessions[427**************][bfreq]" value="*******"> <input type="hidden" name="threeDSPageSessions[427**************][threeDSRef]" value="****"> <input id="btnSubmit" type="submit" class="button expanded btn btn-primary" value="Process Payment"> </form> </body> </html>
Response
HTTP/1.1 200 OK Content-Type: application/json { "url": "https://demo-app.blinkpayment.co.uk/return?transaction_id=BL-MYU12345&status=captured¬e=Payment%2BSuccessful&merchant_data=%257B%2522order_id%2522%253A%2522cc-12345678%2522%257D" }
Create Credit Card Payment for MOTO
POST /pay/v1/creditcards
Headers
Content-Type string
Content type.
Authorization string
Access token generated from create token request.
Attributes
payment_intent string
Payment intent token.
paymentToken string
Payment token generated from Create Payment Token request.
type string (optional)
Type 1 is ECOM
payment and type 2 is MOTO
. Default value 1 i.e. ECOM
raw_amount float (optional)
Payment amount. If not present, it will fetch value from Intent resource.
customer_email string (optional)
Customer email. If not present, it will fetch value from Intent resource.
customer_name string (optional)
Customer name. If not present, it will fetch value from Intent resource.
customer_address string (optional)
User’s address details. If not present, it will fetch value from Intent resource.
customer_postcode string (optional)
User’s postcode. If not present, it will fetch value from Intent resource.
transaction_unique string
Transaction unique.
merchant_data json (optional)
The merchant can add custom key value pairs in JSON format, for example:
{ "my_order_id": 123, "fancy_note": "Order complete", "card_discount": false }
Request
POST https://secure.blinkpayment.co.uk/api/pay/v1/creditcards HTTP/1.1 Content-Type: application/json Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG... { "payment_intent": "pi_Swhc84aSLtUGppvPARX...", "paymentToken": "eyJwYXltZW50VG9rZW4iOns...", "type": 2, "raw_amount": 1.1, "customer_email": "random@email.com", "customer_name": "A Smith", "transaction_unique": "PHnRNzjUw...", "merchant_data": "{\"my_order_id\": \"cc-12345678\"}" }
Response
HTTP/1.1 200 OK Content-Type: application/json { "url": "https://demo-app.blinkpayment.co.uk/return?transaction_id=BL-MYU12345&status=captured¬e=Payment%2BSuccessful&merchant_data=%257B%2522order_id%2522%253A%2522cc-12345678%2522%257D" }
Response codes
Code | Status | Title | Message | Notes |
200 | Captured | Captured | Payment successful | If a “sale” type payment is successfully processed through credit card, then this status will be returned. Also, if payment type is “credit”, then for successful “credit” type transaction. this status will be returned which credit accepted. |
200 | Accepted | Accepted | Payment successful and accepted | If payment is captured and received , then this status will be returned |
200 | Approved | Approved | Payment successful and approved | If a “sale” type payment with delay capture is successfully processed through credit card, then this status will be returned. |
200 | Reversed | Reversed | Payment successful | If transaction type is “preauth” then for successful preauth transaction this status will be returned. |
200 | Verified | Verified | Payment successful and verified | If transaction type is “verified” then for successful verified transaction, this status will be returned which means account is valid. |
200 | Success | Success | Rerun successfully | If rerun request successfully completed then this status will be returned. |
200 | Success | Success | Captured successfully | If transaction is captured successfully before predefined delay capture duration, then this status is returned. |
400 | Failed | Validation error | Payment Token is required | If payment token is not present , creditcards request will return this status |
400 | Failed | Validation error | Device timezone is required | If 3DS authentication is enabled, device timezone is needed for Credit Cards request |
400 | Failed | Validation error | Device capabilities is required | If 3DS authentication is enabled, device capabilities is needed for Credit Cards request |
400 | Failed | Validation error | Device screen resolution is required | If 3DS authentication is enabled, device screen resolution is needed for Credit Cards request |
400 | Failed | Validation error | Device accept language is required | If 3DS authentication is enabled, device accept language is needed for Credit Cards request |
400 | Failed | Validation error | Remote address is required | If 3DS authentication is enabled, remote address is needed for Credit Cards request |
400 | Failed | Validation error | Customer name is required | If customer name is not present, this status will be returned |
400 | Failed | Validation error | Customer email is required | If customer email is not present, this status will be returned |
400 | Failed | Validation error | Transaction must be in approved state | For Captures Request, transaction must be in approved status |
400 | Failed | Validation error | Transaction must be preauth type or with delay capture details | For Captures Request, transaction type must be preauth or with delay capture details |
400 | Failed | Validation error | Amount is required | For Captures Request, if transaction type is “verify”, then amount is required. |
500 | 3DS authentication required | Authentication error | 3DS authentication required | If any of the 3DS related details are missing, then this status will be returned |
500 | Finished | Finished | Missing Cardcvv | If CVV details is not provided during card payment, then this status will be returned |
500 | Finished | Finished | Authentication Rejected By Issuer - Cardholder Not Enrolled In Service | If 3DS authentication is rejected , then this status will be returned |
500 | Finished | Finished | 3DS declined | If 3DS is declined while authenticating, then this status will be returned |
500 | Rejected | Rejected | Payment rejected | if after capturing the payment if it’s rejected due to any issue, then this status will be returned |