[멋쟁이채소처럼:리펙토링] 결제 멱등성 적용

Welcome to Seoyun Dev Log·2023년 3월 15일
0

CURL?

cURL : Client URL
클라이언트에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저 처럼 활동할 수 있도록 해주는 기술(커맨드라인 툴 혹은 라이브러리이다: 서버와 통신할 수 있는 커맨드 명령어 툴)

  • CURL 다양한 지원 프로토콜들
    DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP
  • SSL 인증 방식 역시 가능



토스 멱등키 적용하기

토스 멱등키 링크
토스 멱등키 블로그

  1. 요청 헤더에 Idempotency-Key를 추가하면 멱등한 요청을 보낼 수 있습니다.
Idempotency-Key: {IDEMPOTENCY_KEY}
  • 멱등키는 UUID v4와 같이 충분히 무작위적인 고유 값으로 생성해주세요. 최대 길이는 300자
  • 멱등키는 처음 요청에 사용한 날부터 15일 간 유효합니다. 처음 요청한 날부터 15일이 지났다면 새로운 멱등키로 요청하세요.
  1. 아래와 같이 API 요청에 멱등키 헤더를 사용하면 같은 요청이 두 번 일어나도 실제로 요청이 이루어지지 않고 첫 번째 요청 응답과 같은 응답을 보내줍니다.
curl --request POST \
  --url https://api.tosspayments.com/v1/payments/key-in
  --header 'Authorization: Basic dGVzdF9za196WExrS0V5cE5BcldtbzUwblgzbG1lYXhZRzVSOg=='
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: SAAABPQbcqjEXiDL' \
  --data '{"amount":15000,"orderId":"a4CWyWY5m89PNh7xJwhk1","orderName":"토스 티셔츠 외 2건","customerName":"박토스","cardNumber":"4330123412341234","cardExpirationYear":"24","cardExpirationMonth":"07","cardPassword":"12","customerIdentityNumber":"881212"}'

  • --request: 요청시 사용할 메소드의 종류 (GET, POST, PUT, PATCH, DELETE)
  • --header: HTTP header 를 기록
  • --url: 데이터를 전송할 url
  • --data: HTTP POST 요청 데이터 입력

참고 문헌

curl

profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글

관련 채용 정보