Authorizing outside of Skipify - Network Token or PAN Retrieval

Learn how to retrieve tokens to submit authorizations yourself

đźš§

Requires approval for merchantAccount configuration

Reach out to your implementation engineer to ensure your use case is approved. Once approved, your merchantAccount will be configured return network tokens and/or PAN

While the default payment submission flow is for Skipify to authorize on behalf of the merchant, Skipify provides the ability for merchants to submit authorizations themselves to offer true psp agnostic support.

Retrieve tokens or PAN to authorize outside of Skipify

At this point in the flow, the shopper has selected a payment method, and finalized checkout on your UI.

  1. Call the POST /payment/credentials API to request payment credentials using the sessionId and the shopper's selected payment method paymentId

HTTP 200 OK response status will be returned as a successful acknowledgement in the POST /payment/credentials response. The actual payment credentials will be asynchronously webhooked via webhook"eventName": "PAYMENT_CREDENTIALS"to the URL configured on your merchant account.

POST /payments/credential
{
  "paymentId": "73c335b2-0dad-4e4a-b10b-950614f80953",
  "sessionId": "ae5686ad-bcc0-425a-bc84-7e9a142b61d3",
  "amount": 5000,
  "merchantReference": "NjghZplGtIx3ap9ziC",
  "currency": "USD"
}
{
    "code": 200,
    "message": "OK"
}
{
  "errorCode": "SPECIFIC_ERROR_CODE",
  "errorMessage": "Something went wrong, here is what happened."
}
{
  "eventName": "PAYMENT_CREDENTIALS", 
  "paymentID": "26gug05e-dcd3-420e-be91-f0483724f74d",
  "merchantReference": "merchantUniqueReference",
  "merchantId": "c1brc8b60-6dd4-4136-88e1-c9e5b670f1ca0",
  "credentials": [
    {
      "type": "network_token",
      "cryptogram": "1566",
      "token": "0987654321098745",
      "tokenId": "73c335b2-0dad-5a5a-b10b-950614f80953",
      "expirationMonth": 12,
      "expirationYear": 2028
    }, 
    {
      "type": "pan",
      "pan": "1234567890123456",
      "expirationMonth": 12,
      "expirationYear": 2028
    }
  ]
}

Request Body Parameters

POST /payment/credentials

Parameter NameRequired?TypeDescription
paymentIdyesstringThis is the paymentId received from the shopper's payment carousel selection.
amountyesintegerThe total amount for this purchase in cents (USD).
sessionIdyesstringThis is the sessionId received from the shopper's payment carousel session.
merchantReferenceyesstringThis is your unique merchant identifier/invoice number for this transaction.
currencyyesbooleanUSD is supported today.
  1. Next, you need to submit the PSP Authorization Response to Skipify to complete the process
POST /payments/externalresponse
{
  "paymentID": "73c335b2-0dad-4e4a-b10b-950614f80953",
  "pspRawResponse": "string",
  "amount": 5000,
  "pspHostName": "Stripe",
  "currecy": "USD",
  "isRecurring": true
}
{
    "code": 200,
    "message": "OK"
}
{
  "errorCode": "SPECIFIC_ERROR_CODE",
  "errorMessage": "Something went wrong, here is what happened."
}

Request Body Parameters

POST /payment/externalresponse

Parameter NameRequired?TypeDescription
paymentIdyesstringThis is the paymentId received from the shopper's payment carousel selection.
pspRawResponseyesstringThis is the full unformatted response you received from your PSP when submitting the Authorization
amountyesintegerThe total amount for this purchase in cents (USD).
pspHostNameyesstringThis is the name of your PSP - i.e. - Stripe
currencyyesbooleanFlag to indicate whether this payment request is for recurring payment
isRecurringyesbooleanFlag to indicate whether this payment request was for a recurring payment (CardOnFile)