Create Payment Session

Request a windowed time of payment session

Method and URL

POST [BASE_URL]/v2/payments

Request

Payment UI

chevron-rightPivot's Payment UI hashtag
{
  "clientReferenceId": "1751612565",
  "amount": {
    "value": 10000,
    "currency": "IDR"
  },
  "paymentType": "SINGLE",
  "mode": "REDIRECT",
  "bypassStatusPage": false,
  "redirectUrl": {
    "successReturnUrl": "https://merchant.com/success",
    "failureReturnUrl": "https://merchant.com/failure",
    "expirationReturnUrl": "https://merchant.com/expiration"
  },
  "customer": {
    "givenName": "Reforza Jordan",
    "surname": "Geotama",
    "email": "reforza@pivot-payment.com",
    "phoneNumber": {
      "countryCode": "+62",
      "number": "89699990001"
    },
    "refundPreference": {
      "method": "AUTO",
      "transferDestination": {
        "channelCode": "014",
        "channelInformation": {
          "accountNumber": "17677665415",
          "accountName": "Reforza Jordan Geotama"
        }
      }
    }
  },
  "orderInformation": {
    "productDetails": [
      {
        "type": "PHYSICAL",
        "category": "FASHION",
        "subCategory": "FASHION WANITA",
        "name": "Dress Kasual Warna Putih",
        "description": "Ukuran M",
        "quantity": 1,
        "price": {
          "value": 100000,
          "currency": "IDR"
        }
      }
    ],
    "billingInfo": {
      "givenName": "Reforza Jordan",
      "surname": "Geotama",
      "email": "reforza@pivot-payment.com",
      "phoneNumber": {
        "countryCode": "+62",
        "number": "89699990001"
      },
      "addressLine1": "Biomedical Building Lantai 3",
      "addressLine2": "Digital hub, BSD City",
      "city": "Tangerang Regency",
      "provinceState": "Banten",
      "country": "ID",
      "postalCode": "15331"
    },
    "shippingInfo": {
      "givenName": "Reforza Jordan",
      "surname": "Geotama",
      "email": "reforza@pivot-payment.com",
      "phoneNumber": {
        "countryCode": "+62",
        "number": "89699990001"
      },
      "addressLine1": "Biomedical Building Lantai 3",
      "addressLine2": "Digital hub, BSD City",
      "city": "Tangerang Regency",
      "provinceState": "Banten",
      "country": "ID",
      "postalCode": "15331",
      "method": "REGULAR",
      "shippingFee": {
        "value": 100000,
        "currency": "IDR"
      }
    }
  },
  "autoConfirm": false,
  "statementDescriptor": "Reforza Pivot",
  "expiryAt": "2025-12-30T23:59:00Z",
  "metadata": {
    "invoiceNo": "INV001"
  }
}

Card Payment Method

circle-info

If you plan to embed our Payment Redirection page using an iframe, please submit your website domain to us for whitelisting

chevron-rightPivot's Payment Redirectionhashtag
{
  "clientReferenceId": "1751610085",
  "amount": {
    "value": 10000,
    "currency": "IDR"
  },
  "paymentType": "SINGLE",
  "paymentMethod": {
    "type": "CARD"
  },
  "paymentMethodOptions": {
    "card": {
      "captureMethod": "automatic", // "MANUAL" for Capture later
      "threeDsMethod": "CHALLENGE" // "NEVER" for Non 3DS
    }
  },
  "mode": "REDIRECT",
  "bypassStatusPage": false,
  "redirectUrl": {
    "successReturnUrl": "https://merchant.com/success",
    "failureReturnUrl": "https://merchant.com/failure",
    "expirationReturnUrl": "https://merchant.com/expiration"
  },
  "customer": {
    "givenName": "Reforza Jordan",
    "surname": "Geotama",
    "email": "reforza@pivot-payment.com",
    "phoneNumber": {
      "countryCode": "+62",
      "number": "89699990001"
    },
    "refundPreference": {
      "method": "AUTO",
      "transferDestination": {
        "channelCode": "014",
        "channelInformation": {
          "accountNumber": "17677665415",
          "accountName": "Reforza Jordan Geotama"
        }
      }
    }
  },
  "orderInformation": { 
    "productDetails": [
      {
        "type": "PHYSICAL",
        "category": "FASHION",
        "subCategory": "FASHION WANITA",
        "name": "Dress Kasual Warna Putih",
        "description": "Ukuran M",
        "quantity": 1,
        "price": {
          "value": 100000,
          "currency": "IDR"
        }
      }
    ],
    "billingInfo": { // Mandatory for Foreign Card with AVS
      "givenName": "Reforza Jordan",
      "surname": "Geotama",
      "email": "reforza@pivot-payment.com",
      "phoneNumber": {
        "countryCode": "+62",
        "number": "89699990001"
      },
      "addressLine1": "Biomedical Building Lantai 3",
      "addressLine2": "Digital hub, BSD City",
      "city": "Tangerang Regency",
      "provinceState": "Banten",
      "country": "ID",
      "postalCode": "15331"
    },
    "shippingInfo": {
      "givenName": "Reforza Jordan",
      "surname": "Geotama",
      "email": "reforza@pivot-payment.com",
      "phoneNumber": {
        "countryCode": "+62",
        "number": "89699990001"
      },
      "addressLine1": "Biomedical Building Lantai 3",
      "addressLine2": "Digital hub, BSD City",
      "city": "Tangerang Regency",
      "provinceState": "Banten",
      "country": "ID",
      "postalCode": "15331",
      "method": "REGULAR",
      "shippingFee": {
        "value": 100000,
        "currency": "IDR"
      }
    }
  },
  "autoConfirm": true,
  "statementDescriptor": "Reforza Pivot",
  "expirationMode": "STRICT",
  "expiryAt": "2025-12-30T23:59:00Z",
  "metadata": {
    "invoiceNo": "INV001"
  }
}
chevron-rightMerchant's customized Payment Page — Card Encryptionhashtag

How to build reference: Card Customized Payment Page (Encryption)

{
  "clientReferenceId": "1751620870",
  "amount": {
    "value": 10000,
    "currency": "IDR"
  },
  "paymentType": "SINGLE",
  "paymentMethod": {
    "type": "CARD"
  },
  "mode": "API",
  "redirectUrl": {
    "successReturnUrl": "https://merchant.com/success",
    "failureReturnUrl": "https://merchant.com/failure",
    "expirationReturnUrl": "https://merchant.com/expiration"
  },
  "customer": {
    "givenName": "Reforza Jordan",
    "surname": "Geotama",
    "email": "reforza@pivot-payment.com",
    "phoneNumber": {
      "countryCode": "+62",
      "number": "89699990001"
    },
    "refundPreference": {
      "method": "AUTO",
      "transferDestination": {
        "channelCode": "014",
        "channelInformation": {
          "accountNumber": "17677665415",
          "accountName": "Reforza Jordan Geotama"
        }
      }
    }
  },
  "orderInformation": { 
    "productDetails": [
      {
        "type": "PHYSICAL",
        "category": "FASHION",
        "subCategory": "FASHION WANITA",
        "name": "Dress Kasual Warna Putih",
        "description": "Ukuran M",
        "quantity": 1,
        "price": {
          "value": 100000,
          "currency": "IDR"
        }
      }
    ],
    "billingInfo": { // Mandatory for Foreign Card with AVS
      "givenName": "Reforza Jordan",
      "surname": "Geotama",
      "email": "reforza@pivot-payment.com",
      "phoneNumber": {
        "countryCode": "+62",
        "number": "89699990001"
      },
      "addressLine1": "Biomedical Building Lantai 3",
      "addressLine2": "Digital hub, BSD City",
      "city": "Tangerang Regency",
      "provinceState": "Banten",
      "country": "ID",
      "postalCode": "15331"
    },
    "shippingInfo": {
      "givenName": "Reforza Jordan",
      "surname": "Geotama",
      "email": "reforza@pivot-payment.com",
      "phoneNumber": {
        "countryCode": "+62",
        "number": "89699990001"
      },
      "addressLine1": "Biomedical Building Lantai 3",
      "addressLine2": "Digital hub, BSD City",
      "city": "Tangerang Regency",
      "provinceState": "Banten",
      "country": "ID",
      "postalCode": "15331",
      "method": "REGULAR",
      "shippingFee": {
        "value": 100000,
        "currency": "IDR"
      }
    }
  },
  "autoConfirm": false,
  "statementDescriptor": "Reforza Pivot",
  "expirationMode": "STRICT",
  "expiryAt": "2025-12-30T23:59:00Z",
  "metadata": {
    "invoiceNo": "INV001"
  }
}
chevron-rightSave Card with Pivot's Payment Redirection (Card Tokenization)hashtag

Initiation

Enable "Save Payment Information Detail" option for your customers when the Charge is SUCCESS We will save your Customer's Payment Information Detail in Token format under your Customer Object

How to build reference: Pay and Save Card (Tokenization)

Use Tokenized Card

Reuse your customers' saved Payment Information details so that they can check out faster

circle-info

Stored Payment Method links to your customerId

chevron-rightSave Card with Merchant's customized Payment Page (Card Tokenization)hashtag

Initiation

Enable "Save Payment Information Detail" option for your customers when the Charge is SUCCESS We will save your Customer's Payment Information Detail in Token format under your Customer Object

How to build reference: Pay and Save Card (Tokenization)

Use Tokenized Card

Reuse your customers' saved Payment Information details so that they can check out faster

circle-info

Stored Payment Method links to your customerId

E-Wallet Payment Method

circle-info

channel = DANA doesn't support to embed page using an iframe

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Pagehashtag

Virtual Account Payment Method

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Pagehashtag
chevron-rightVirtual Account Static with Merchant's customized Payment Pagehashtag

How to build reference: Build Static Payment

circle-info

Make sure virtualAccountNumber within our default Static Range or your Configuration range:

https://dashboard.pivot-payment.com/static-payment/virtual-account/rangearrow-up-right

QR Payment Method

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Pagehashtag
chevron-rightQR Static with Merchant's customized Payment Pagehashtag

How to build reference: Build Static Payment

Detail Parameter Request

Parameter
Data Type
Character Limit
Requirement
Description

clientReferenceId

Alphanumeric

1-100

M

Unique Payment Reference from Merchant's Request

amount

Object

-

M

Amount Object Total Payment amount

paymentType

String

-

O

Default to SINGLE

Payment Type possible values are:

  • SINGLE

  • MULTIPLE

Definition:

  • SINGLE: Payment Session can only be charged once

  • MULTIPLE: Payment Session can be charged multiple times, and Payment Session Status is always Active

Applicable only for Payment Method Type QR and VIRTUAL_ACCOUNT

paymentMethod

Object

-

O

paymentMethodOptions

Object

-

C

saveForFutureUse

Boolean

-

O

Store Payment Information detail in Token format in Customer Object for CARD & EWALLET Payment method whenever the charge is SUCCESS

Default to false Possible values are:

  • true

  • false

showSavedPayment

Boolean

-

O

Show saved Payment Information for CARD & EWALLET Payment method in Payment Redirection

Default to false, applicable only for REDIRECT mode Possible values are:

  • true

  • false

mode

String

-

O

Default to REDIRECT

Payment Session mode. Possible values are:

  • REDIRECT will return redirectUrl

  • API

bypassStatusPage

Boolean

-

O

Bypass Pivot's Status Page after your customer completing the Payment, directly redirect to your URLs

Default to false, applicable only for REDIRECT mode Possible values are:

  • true

  • false

redirectUrl

Object

-

M

Redirect Object URL for redirection

customerId

String

0-255

O

Auto generated based on email as the unique identifier *Choose either to send customerId or customer Object

customer

Object

-

C

Customer Object Customer information *Choose either to send customerId or customer Object

orderInformation

Object

-

M

Order Object Order information

autoConfirm

Boolean

-

O

Default to true

If the confirmation method is set to false. Then clients need to hit the /confirm endpoint

statementDescriptor

String

0-20

O

Default = Merchant’s short name

Statement descriptors allow a maximum 20 characters for all the concatenated characters (including space).

It will be shown on invoice, receipt, and for payment methods that support custom descriptors, it will be shown on the customer's bank statement.

expirationMode

String

-

O

Default to LOOSE

Payment Type possible values are:

  • LOOSE

  • STRICT

Definition:

  • LOOSE: Expiry depends on processor rules

  • STRICT: Expiry depends on merchant rules

Applicable only for Payment Method Type CARD and EWALLET

expiryAt

String

-

O

Session expired time set by merchant with format YYYY-MM-DDTHH:MM:SSZ. The default expiration time is 15 mins. For Payment Type = MULTIPLE, don't necessarily send the Expiry At value

metadata

Object

-

O

Free object for merchant to store any extra information about the payment session

Response

Payment UI

chevron-rightPivot's Payment UIhashtag

Card Payment Method

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Page — Card Encryptionhashtag
chevron-rightSave Card with Pivot's Payment Redirection (Card Tokenization)hashtag

Initiation

Use Tokenized Card

chevron-rightSave Card with Merchant's customized Payment Page (Card Tokenization)hashtag

Initiation

Use Tokenized Card

E-Wallet Payment Method

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Pagehashtag

Virtual Account Payment Method

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Pagehashtag
chevron-rightVirtual Account Static with Merchant's customized Payment Pagehashtag

QR Payment Method

chevron-rightPivot's Payment Redirectionhashtag
chevron-rightMerchant's customized Payment Pagehashtag
chevron-rightQR Static with Merchant's customized Payment Pagehashtag

Detail Parameter Response

Parameter
Data Type
Requirement
Description

Payment Session

Object

M

Last updated