---
title: "Initiate Payment"
method: POST
path: "/pg/payment/card/initiate"
tags: ["Payment Initiation"]
---

# Initiate Payment

`POST /pg/payment/card/initiate`

Universal payment initiation endpoint used by multiple payment methods.
The payment method is determined by the sourceOfFunds.type field.

Supported payment types:
- finpaycode: Finpay Payment Code
- dana: DANA E-Money
- finpaymoney: Finpay Money
- jenius: Jenius Pay
- linkajaapplink: LinkAja App Link
- linkajaweb: LinkAja Web
- ovo: OVO E-Money
- shopeepay: ShopeePay E-Money
- virgo: Virgo E-Money
- qris: QRIS Payment
- cc: Credit Card
- bcaklikpay: BCA KlikPay
- bsecure: BSecure
- octoclicks: Octo Clicks
- permatanet: PermataNet
- kredivo: Kredivo Paylater
- indodana: Indodana Paylater
- shopeepaylater: ShopeePay Later

## Request body

- union
  - FinpayPaycodeRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` SourceOfFunds
      - `type` string — Payment method type
      - `paymentCode` string — Payment code for VA operations
  - DANAPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - QRISPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - CardPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - BCAKlikPayPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - IndodanaPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - FinpayMoneyPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - JeniusPayPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - LinkAjaAppLinkPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - LinkAjaWebPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - OVOPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - ShopeePayPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - VirgoPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - BSecurePaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - OctoClicksPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - PermataNetPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - KredivoPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string
  - ShopeePaylaterPaymentRequest
    - `customer` CustomerInfo
      - `id` string — Customer ID
      - `email` string, email — Customer email
      - `firstName` string — Customer first name
      - `lastName` string — Customer last name
      - `mobilePhone` string — Customer mobile phone
    - `order` OrderInfo
      - `id` string — Order ID
      - `amount` string — Transaction amount
      - `currency` string — Currency code
      - `description` string — Order description
      - `item` object[]
        - `name` string
        - `quantity` string
        - `category` string
        - `description` string
        - `unitPrice` string
    - `url` UrlInfo
      - `callbackUrl` string, uri — Callback URL
      - `successUrl` string, uri — Success URL
      - `failUrl` string, uri — Failure URL
    - `sourceOfFunds` object
      - `type` string

## Response `200`

Payment initiated successfully

- union
  - FinpayPaycodeResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - DANAPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for DANA payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string, nullable — Payment code (null for DANA)
  - QRISPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for QRIS payment
    - `appurl` string — App URL for QRIS payment
    - `imageurl` string — Image URL for QR code
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Payment code (empty for QRIS)
    - `stringQr` string — QR code string
  - CardPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for credit card payment
    - `expiryLink` string — Expiry date for payment link
  - BCAKlikPayPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for BCA KlikPay payment
    - `appurl` string — App URL for payment
    - `imageurl` string — Image URL for payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Payment code
  - IndodanaPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for Indodana payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - FinpayMoneyPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for Finpay Money payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - JeniusPayPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for Jenius Pay payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - LinkAjaAppLinkPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for LinkAja App Link payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - LinkAjaWebPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for LinkAja Web payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - OVOPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for OVO payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - ShopeePayPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for ShopeePay payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - VirgoPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for Virgo payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - BSecurePaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for BSecure payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - OctoClicksPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for Octo Clicks payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - PermataNetPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for PermataNet payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - KredivoPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for Kredivo payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code
  - ShopeePaylaterPaymentResponse
    - `responseCode` string — Response code
    - `responseMessage` string — Response message
    - `processingTime` number — Processing time in seconds
    - `redirecturl` string — Redirect URL for ShopeePay Later payment
    - `expiryLink` string — Expiry date for payment link
    - `paymentCode` string — Generated payment code

---

[API](https://skmtc.net/finpay/apis/snap.md) · [All operations](https://skmtc.net/finpay/apis/snap/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/finpay/snap/revisions/c03252461d4f/schema)
