Online Payment URL
myKaarma enables dealers to take online payments from customers using PayIsland. In order use payIsland, you need to generate a Payment URL and sent it to the customer. The generated payment URL is public and will not require any authentication.
Use the following endpoint to generate and send a Payment URL to the customer:
POST /v3/department/{serviceSubscriberDepartmentToken}/url
Authentication
Basic authentication is used to authenticate the request.
Resource Path Parameters
This endpoint has only one parameter in the URL, serviceSubscriberDepartmentToken. This is the department UUID of the dealership for which you are taking the payment.
Request
| Variable Name | Description | 
|---|---|
| clientSideRedirectUrl | URL to which the user will be redirected once the transaction is complete. | 
| cssRef | Link of the myKaarma skin which will be applied to the online payment page. | 
| customerIdentifiers | It contains details about the customer such as name, phone numbers, emails, customerID, etc. | 
| dealerAssociateIdentifier | It cointains details about the dealer associate such as name, email and dealerAssociate ID. | 
| paymentDetails | It contains details about the payment such as amount, invoice URL, payment type (auth or sale), payment description, etc. | 
| saveCard | Set this to true in order to tokenize and save the card. | 
| ttl (Time-to-live) | Life of the payment URL in milliseconds. | 
| webHookUrl | Webhook URL to hit after the payment is complete. | 
Response
| Variable Name | Description | 
|---|---|
| customerId | Customer ID for which the payment URL was generated. | 
| invoiceId | Invoice ID of the payment. | 
| paymentUrl | The Payisland URL which was sent to the customer. | 
Request Object
{
  "address": {
    "zipCode": "string"
  },
  "clientSideRedirectUrl": "string",
  "cssRef": "string",
  "customerIdentifiers": {
    "bestTimeToContact": {
      "endTime": "string",
      "startTime": "string"
    },
    "campaignId": "string",
    "customerId": "string",
    "customerKey": "string",
    "emails": [
      {
        "emailAddress": "string",
        "isPreferred": true,
        "label": "string",
        "okToEmail": true
      }
    ],
    "firstName": "string",
    "lastName": "string",
    "phoneNumbers": [
      {
        "isPreferred": true,
        "label": "string",
        "okToCall": true,
        "okToText": true,
        "phoneNumber": "string"
      }
    ],
    "preferredCommunication": "string"
  },
  "dealerAssociateIdentifier": {
    "dealerAssociateEmail": "string",
    "dealerAssociateFirstName": "string",
    "dealerAssociateId": "string",
    "dealerAssociateLastName": "string"
  },
  "flags": {
    "footerToAdd": true,
    "useMyKaarmaEmailPaymentRequest": true,
    "useMyKaarmaEmailReceipt": true,
    "useMyKaarmaTextPaymentReceipt": true,
    "useMyKaarmaTextPaymentRequest": true
  },
  "language": "string",
  "orderRef": "string",
  "paymentDetails": {
    "additionalCharges": [
      {
        "additionalChargeAmount": 0,
        "additionalChargeDescription": "string"
      }
    ],
    "amount": 0,
    "currency": "string",
    "invoiceUrl": "string",
    "paymentDescription": "string",
    "paymentReceiptFormat": "string",
    "paymentType": "string",
    "preAuth": "string",
    "processedFor": "string",
    "requireSignature": "string",
    "retryCount": 0,
    "signatureCoordinates": {
      "height": 0,
      "pageNumber": 0,
      "width": 0,
      "x": 0,
      "y": 0
    },
    "verifyAVS": true,
    "verifyZipCode": true
  },
  "saveCard": true,
  "ttl": 0,
  "webHookUrl": "string"
}
Response Object
{
  "customerId": "string",
  "error": {
    "errorCode": "string",
    "errorDescription": "string"
  },
  "invoiceId": "string",
  "paymentUrl": "string",
  "warnings": [
    {
      "warningCode": "string",
      "warningDescription": "string"
    }
  ]
}