Toss Pay

Integrate Toss Pay wallet and allow consumers to pay via bank transfer or credit card in South Korea.

Payment Method Properties

Available country codesKR
Processing (Presentation) currenciesKRW
Settlement currenciesUSD
Consumer currenciesKRW
Channel member tagtosspay
Scheme name in the settlement fileTosspay
Minimum transaction amount100 KRW
Maximum transaction amountLinked credit card: Customer credit limit

Linked bank account: 2M KRW
Session timeout20 minutes
RefundFull
Partial
Multiple
Refund Validity365 days
ChargebackYes
Integration TypeAsynchronous
SandboxScheme-hosted

Transaction Flow

  1. On the merchant's checkout page, the consumer selects to pay with Toss Pay.
  2. The PSP sends a Transaction request to PPRO, which triggers a Transaction request to Toss Pay.
  3. If the consumer is paying from a desktop browser:
    1. The consumer enters their Toss-registered mobile number and date-of-birth.
    2. Alternatively, the consumer uses the Toss Pay app to scan the QR code that is displayed on the payment page and confirms the transaction in the Toss Pay app.
  4. If the consumer is paying from a mobile device
    1. The consumer is redirected to the Toss Pay app on their mobile device.
    2. The consumer completes the authentication process and confirms the payment in the Toss mobile app.

Toss Pay Integration

Specific input parameters for the TRANSACTION call

Field NameM/OTypeRegExDescription
specin.emailOascii[\w-\.]+@([\w-]+\.)+The consumer's email address

For standard input parameters, see Input parameters for the TRANSACTION call.

This payment method supports the dynamic descriptor field (see The dynamic descriptor).

Specific output parameters for the TRANSACTION call

Field NameTypeDescription
SPECOUT.CARDMASKEDPANasciiMasked card number of the card used by the customer.
SPECOUT.APPROVALCODEasciiApproval code of the card payment if payment succeeded

For standard output parameters, see Output parameters for the TRANSACTION call.

TRANSACTION call input

tag=koreancard
&txtype=TRANSACTION
&countrycode=KR
&currency=KRW
&amount=15000
&merchanttxid=mCYaU22CeZWh
&login=johndoe
&password=wXBrpVporFVjGO4R
&contractid=JOHNDOECONTRACT
&channel=testchannel&merchantredirecturl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php&notificationurl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Fnotification.php&specin.dynamicdescriptor=%ED%86%A0%EC%8A%A4+%ED%8B%B0%EC%85%94%EC%B8%A0+%EC%99%B8+2%EA%B0%9C+%EC%95%84%EC%9D%B4%ED%85%9C&[email protected] &specin.cardissuer=VISA&accountholdername=John%20Doe&returnmode=urlencodeext

TRANSACTION call output

REQUESTSTATUS=SUCCEEDED
&STATUS=SUCCEEDED
&FUNDSTATUS=WAITING
&TXID=1266924844
&MERCHANTID=mCYaU22CeZWh
&ERRMSG=
&CHANNEL=testchannel
&TAG=tosspay
&REDIRECTSECRET=OTzp0pFUOGPMsW3KQSPhzrgHEa4h1DNw
&REDIRECTURL=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php
&SPECOUT.APPROVALCODE=00000000
&SPECOUT.CARDMASKEDPAN=41231234****123*
&amount=10000

Specific input parameters for the REFUND call

Field NameTypeDescription
specin.refundreasonMUsed to indicate why a refund is needed

Specific output parameters for the REFUND call

Field NameTypeDescription
SPECOUT.REFUNDEDATasciiRefund accepted timestamp from Toss