OutlinePay Docs문서 openapi.json
Testing테스트

Test every scenario without moving real money실제 돈 없이 모든 시나리오를 테스트합니다

On your test API key no real money moves, and the checkout accepts only the processor's test values. This page lists the value that triggers each scenario, and what your integration sees when it fires: the payment's status and the webhooks that arrive. Every test merchant runs on Stripe today, so the values are Stripe's.테스트 API 키에서는 실제 돈이 이동하지 않으며, 체크아웃은 결제 처리사의 테스트 값만 받습니다. 이 페이지는 각 시나리오를 일으키는 값과, 그때 연동에서 보이는 것(결제 상태와 도착하는 웹훅)을 정리한 것입니다. 현재 모든 테스트 가맹점은 Stripe에서 동작하므로, 값은 Stripe의 테스트 값입니다.

Cards카드

Scenario시나리오 Card number카드 번호 What your integration sees연동에서 보이는 것
Succeeds성공 4242 4242 4242 4242 The payment goes succeeded and payment.succeeded arrives.결제가 succeeded가 되고 payment.succeeded 웹훅이 도착합니다.
Declined거절 4000 0000 0000 0002 The checkout shows the decline and the customer can retry. The payment stays awaiting_payment: a declined attempt never fails a payment.체크아웃에 거절이 표시되고 고객은 다시 시도할 수 있습니다. 결제는 awaiting_payment로 유지됩니다. 승인 거절은 결제를 실패시키지 않습니다.
3D Secure3D Secure 4000 0027 6000 3184 An authentication challenge appears first. Complete it and the payment succeeds as above.인증 절차가 먼저 표시됩니다. 완료하면 위와 같이 결제가 성공합니다.
Disputed분쟁 발생 4000 0000 0000 0259 The payment succeeds, then a dispute opens against it. See Disputes.결제가 성공한 뒤 분쟁(chargeback)이 접수됩니다. 분쟁 섹션을 참고해 주십시오.

Any future expiry, any CVC, any name and postal code.유효기간은 미래의 아무 날짜, CVC와 이름, 우편번호는 아무 값이나 됩니다.

Wallets & pay over time월렛과 분할 결제

Cash App Pay, Amazon Pay, Klarna, Affirm and Afterpay have no numbers to type. In test mode the checkout redirects to a test approval screen where you approve or decline the payment. Approving completes the payment like the succeeding card. Declining returns the customer to the checkout to retry, and the payment stays awaiting_payment.Cash App Pay, Amazon Pay, Klarna, Affirm, Afterpay는 입력할 번호가 없습니다. 테스트 모드에서는 체크아웃이 테스트 승인 화면으로 이동하며, 거기에서 결제를 승인하거나 거절할 수 있습니다. 승인하면 성공 카드와 같이 결제가 완료됩니다. 거절하면 고객이 체크아웃으로 돌아와 다시 시도할 수 있고, 결제는 awaiting_payment로 유지됩니다.

Bank rails은행 결제

A US bank debit (bank_debit) is paid through the checkout's bank picker. Choose Test Institution to link an account instantly, or enter routing number 110000000 with one of the account numbers below.미국 은행 계좌 출금(bank_debit)은 체크아웃의 은행 선택 화면에서 진행됩니다. Test Institution을 선택하면 계좌가 즉시 연결되며, 라우팅 번호 110000000과 아래 계좌 번호를 직접 입력할 수도 있습니다.

Scenario시나리오 Account number계좌 번호 What your integration sees연동에서 보이는 것
Settles정상 처리 000123456789 The payment enters processing, then succeeds: payment.processing, then payment.succeeded.결제가 processing 상태를 거쳐 성공합니다. payment.processing 웹훅 다음에 payment.succeeded가 도착합니다.
Insufficient funds잔액 부족 000222222227 The payment enters processing, then fails: payment.processing, then payment.failed.결제가 processing 상태를 거쳐 실패합니다. payment.processing 웹훅 다음에 payment.failed가 도착합니다.
Disputed분쟁 발생 000555555559 The payment settles, then a dispute opens. See Disputes.결제가 정상 처리된 뒤 분쟁이 접수됩니다. 분쟁 섹션을 참고해 주십시오.

A bank transfer (bank_transfer) shows the customer a virtual account number to send money to, and the payment waits in processing until the transfer arrives. Test mode has no bank behind that account number, so the demo's payment page offers a Simulate deposit button that injects the transfer instead. Settlement arrives by webhook, as with a real deposit.계좌 이체(bank_transfer, 가상계좌)는 고객에게 입금할 가상계좌 번호를 보여 주며, 이체가 도착할 때까지 결제는 processing 상태로 대기합니다. 테스트 모드에서는 그 계좌 번호 뒤에 실제 은행이 없으므로, 데모의 결제 상세 페이지에 있는 입금 시뮬레이션 버튼으로 입금을 대신 주입합니다. 정산 결과는 실제 입금과 같이 웹훅으로 도착합니다.

Refunds환불

Refunds need no special values. Refund any succeeded test payment with POST /v1/refunds, and the outcome arrives by webhook: refund.completed when the processor finishes, refund.failed when it cannot.환불에는 별도의 테스트 값이 없습니다. 성공한 테스트 결제를 POST /v1/refunds로 환불하면 결과가 웹훅으로 도착합니다. 결제 처리사가 환불을 마치면 refund.completed, 처리할 수 없으면 refund.failed입니다.

A bank-transfer refund returns money to the buyer's bank account, and when the processor doesn't know the account it emails the buyer to collect it, which test accounts can't send. That refund returns a processor error in test mode and works in live mode. To see the refund flow end to end, refund a card payment.계좌 이체 환불은 구매자의 은행 계좌로 돈을 돌려주는데, 결제 처리사가 계좌를 모르면 구매자에게 이메일로 계좌를 요청하며 테스트 계정은 그 이메일을 보낼 수 없습니다. 그래서 이 환불은 테스트 모드에서 처리사 오류를 반환하고, 라이브 모드에서는 정상 동작합니다. 환불 흐름을 끝까지 보시려면 카드 결제를 환불해 주십시오.

Disputes분쟁

Rehearse disputes in test mode only. A real one costs the processor's dispute fee whichever way it ends. In test mode the whole lifecycle takes minutes.분쟁(chargeback)은 테스트 모드에서만 연습해 주십시오. 실제 분쟁은 결과와 무관하게 결제 처리사의 분쟁 수수료가 발생합니다. 테스트 모드에서는 전체 과정을 몇 분 안에 끝낼 수 있습니다.

Open one by paying with card 4000 0000 0000 0259, or the bank-debit account above. The payment succeeds, then the dispute opens: dispute.created arrives, and the disputed amount plus the processor's dispute fee are withheld from the payment's merchant_net. The amount is withheld when the dispute opens, not when it closes. Changes between open and closed arrive as dispute.updated.카드 번호 4000 0000 0000 0259 또는 위의 은행 출금 계좌로 결제하면 분쟁이 열립니다. 결제가 성공한 뒤 분쟁이 접수되어 dispute.created 웹훅이 도착하고, 분쟁 금액과 결제 처리사의 분쟁 수수료가 결제의 merchant_net에서 차감됩니다. 이 차감은 분쟁이 종료될 때가 아니라 열리는 시점에 반영됩니다. 진행 중의 상태 변화는 dispute.updated로 도착합니다.

Then decide the outcome. Evidence is submitted through the embedded disputes component (in the demo: Compliance → Disputes). Type one of the values below into the Additional information field and submit the evidence.그다음 결과를 결정합니다. 증빙은 임베드된 분쟁 컴포넌트로 제출합니다(데모에서는 Compliance → Disputes). 아래 값 중 하나를 Additional information 필드에 입력하고 증빙을 제출해 주십시오.

Evidence value증빙 값 Outcome결과
winning_evidence The dispute closes won. The withheld amount returns, the dispute fee does not. dispute.closed arrives.분쟁이 won으로 종료됩니다. 차감되었던 금액은 돌아오지만 분쟁 수수료는 돌아오지 않습니다. dispute.closed 웹훅이 도착합니다.
losing_evidence The dispute closes lost, and nothing returns. dispute.closed arrives.분쟁이 lost로 종료되며 아무것도 돌아오지 않습니다. dispute.closed 웹훅이 도착합니다.

Card 4000 0000 0000 1976 opens an inquiry instead: the retrieval request that precedes a formal chargeback. losing_evidence closes it without escalation, and escalate_inquiry_evidence turns it into a full chargeback.카드 번호 4000 0000 0000 1976은 분쟁 대신 문의(inquiry)를 엽니다. 정식 분쟁에 앞서 오는 조회 요청입니다. losing_evidence는 확대 없이 문의를 종료하고, escalate_inquiry_evidence는 정식 분쟁으로 전환합니다.

Source of truth기준 문서

These tables are the subset that maps to OutlinePay objects. The full catalogue, with every card brand and country, Radar scenarios and microdeposit codes, is Stripe's testing page. When this page and that one disagree, Stripe's is the source of truth.이 표들은 OutlinePay 객체에 대응하는 값만 추린 것입니다. 모든 카드 브랜드와 국가, Radar 시나리오, 소액 입금 코드를 포함한 전체 목록은 Stripe 테스트 문서에 있습니다. 이 페이지와 Stripe 문서가 다를 경우 Stripe 문서가 기준입니다.