Authorizing outside of Skipify - Network Token or PAN Retrieval
Learn how to retrieve tokens to submit authorizations yourself
Requires approval for merchantAccount configurationReach 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.
- Call the
POST /payment/credentialsAPI to request payment credentials using thesessionIdand the shopper's selected payment methodpaymentId
- Stage: POST https://services.staging.skipify.com/payments/credentials
- Production: POST https://services.skipify.com/payments/credentials
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 Name | Required? | Type | Description |
|---|---|---|---|
| paymentId | yes | string | This is the paymentId received from the shopper's payment carousel selection. |
| amount | yes | integer | The total amount for this purchase in cents (USD). |
| sessionId | yes | string | This is the sessionId received from the shopper's payment carousel session. |
| merchantReference | yes | string | This is your unique merchant identifier/invoice number for this transaction. |
| currency | yes | boolean | USD is supported today. |
- Next, you need to submit the PSP Authorization Response to Skipify to complete the process
- Stage: POST <https://services.staging.skipify.com/payments/externalresponse
- Production: POST https://services.skipify.com/payments/externalresponse
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 Name | Required? | Type | Description |
|---|---|---|---|
| paymentId | yes | string | This is the paymentId received from the shopper's payment carousel selection. |
| pspRawResponse | yes | string | This is the full unformatted response you received from your PSP when submitting the Authorization |
| amount | yes | integer | The total amount for this purchase in cents (USD). |
| pspHostName | yes | string | This is the name of your PSP - i.e. - Stripe |
| currency | yes | boolean | Flag to indicate whether this payment request is for recurring payment |
| isRecurring | yes | boolean | Flag to indicate whether this payment request was for a recurring payment (CardOnFile) |
Updated about 2 hours ago
