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

# Initiate Payment

`POST /pg/payment/card/initiate`

## Request

- Base URL: `https://snapstag.finnet.co.id`
- URL: `https://snapstag.finnet.co.id/pg/payment/card/initiate`
- Auth: none required
- TypeScript: <https://skmtc.dev/finpay/apis/snap/docs/pg/payment/card/initiate/post.ts> (a function with typed inputs; its response is checked against the schema)

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.dev/finpay/apis/snap.md) - [All operations](https://skmtc.dev/finpay/apis/snap/llms.txt) - [OpenAPI document](https://skmtc.dev/finpay/apis/snap/revisions/c03252461d4f?raw)
