거니맘
TPToss payments 개발자 커뮤니티
•Created by 거니맘 on 3/11/2024 in #❓┃연동개발-문의
트랜잭션 객체를 이용한 거래 조회 질문입니다.
해당 엔드포인트로 단건결제와 빌링결제가 한 번에 조회되나요? 아니면 별개의 API키로 따로 요청해야 하나요?
5 replies
TPToss payments 개발자 커뮤니티
•Created by 거니맘 on 3/11/2024 in #❓┃연동개발-문의
안녕하세요. 연동중 문의드립니다.
구현 후 로컬에서 테스트중인데 /v1/payments/confirm에서 Bad Request가 나는데 원인을 모르겠습니다.
입력 값은 아래와 같아서 API 스펙과 맞는 것 같은데요..
혹시 도와주실 수 있을까요?
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PaymentConfirmationRequestV2 {
private String paymentKey;
private String orderId;
private int amount;
}
20 replies
TPToss payments 개발자 커뮤니티
•Created by 거니맘 on 3/5/2024 in #❓┃연동개발-문의
안녕하세요. 좋은 아침입니다. 빌링키 관련 질문입니다!
발급하는 Billing Key에는 별도의 유효기간이 없이 계속해서 쓸 수 있다는 것은
지난 글을 검색해서 확인하고 이해하였습니다.
다만 추가적인 질문 사항이 있는데요,
1. Billing객체를 응답으로 받아 저희쪽 테이블에 넣어두고 빌링키를 이용해 매달(혹은 매년) 자동결제를 요청하는게 맞나요?
2. 사용자가 두 개 이상의 카드를 등록할 수 있으니 사용자 테이블 : Billing = 1 : N으로 매핑해두는 것이 맞나요?
감사합니다!
5 replies
TPToss payments 개발자 커뮤니티
•Created by 거니맘 on 2/27/2024 in #❓┃연동개발-문의
자동결제 개발중 의문사항입니다.
안녕하세요. 단건 결제 구현 및 연동을 마치고 자동결제 개발에 들어가고 있는 개발자입니다.
다름이 아니라 자동결제시 사용되는 customerKey는
1. 프런트에서 임의로 생성해 백엔드로 전달하고,
이후 사용자 테이블에 별개의 컬럼을 만들어 저장해야 하는 게 맞는 걸까요?
2. 아니면 애초에 customerKey라는 컬럼을 백엔드에서 만들어서 사용자마다 발급해 가지고 있다가
이후에 프런트에서 그 값을 사용하는 걸까요?
이후의 로직에서도 계속 사용되는 걸 보니 그런가 싶어서요.
12 replies
TPToss payments 개발자 커뮤니티
•Created by 거니맘 on 1/18/2024 in #❓┃연동개발-문의
안녕하세요 토스 페이먼츠로 개발을 진행하고 있는 스타트업입니다.
지난 번 문의결과 <결제를 통해 서비스 내 크레딧을 구매하는 식의 결제방식>은 불가능하다는 것을 이해했습니다.
그에 더해 몇 가지 궁금한 점이 있어서 글을 올리게 되었습니다.
1. 한달 구독을 하면 무료 콘텐츠 무제한 이용권과 유료 콘텐츠 20회 사용권을 주는 것은 괜찮은가요?
2. 왓챠와 같은 OTT 서비스처럼 구독결제 + 추가 캐시로 유료 콘텐츠 이용은 괜찮은가요?
늘 친절한 설명 감사드립니다.
14 replies
TPToss payments 개발자 커뮤니티
•Created by 거니맘 on 8/31/2023 in #❓┃연동개발-문의
안녕하세요. 자바로 토스 페이먼츠 연동 테스트 중 문의사항이 있어 연락드렸습니다.
API문서에 쓰여있는 것을 자바로 바꿔서 연동하고 있는데 응답이 404가 오는 것을 확인했습니다.
시크릿 키는 계정에 주어진 키를 사용했으며, 연동 예제인 노드 파일을 기반으로 구현했습니다.
혹시 확인 가능하실까요? 구현 코드는 아래에 적어보겠습니다.
public PaymentService() {
this.webClient = WebClient.builder()
.baseUrl("https://api.tosspayments.com")
.defaultHeader("Content-Type", "application/json")
.build();
}
public Mono<PaymentConfirmationResponseV2> confirmPayment(PaymentConfirmationRequest paymentConfirmationRequest)
throws UnsupportedEncodingException {
String authorizations = encodeSecretKey();
String idempotencyKey = UUID.randomUUID().toString();
return webClient.post()
.uri("/v1/payments/confirm")
.header(HttpHeaders.AUTHORIZATION, authorizations)
.header("Idempotency-Key", idempotencyKey)
.body(Mono.just(paymentConfirmationRequest), PaymentConfirmationRequest.class)
.retrieve()
.bodyToMono(PaymentConfirmationResponseV2.class)
.doOnNext(response -> {
System.out.println("응답 받음: " + response);
})
.doOnError(error -> {
System.out.println("에러 발생: " + error.getMessage());
error.printStackTrace();
});
}
private String encodeSecretKey() throws UnsupportedEncodingException {
Base64.Encoder encoder = Base64.getEncoder();
return "Basic " + Base64.getEncoder().encodeToString((secretKey + ":").getBytes());
}
위와 같이 보내면
404 Not Found from POST https://api.tosspayments.com/v1/payments/confirm
에러가 돌아옵니다. 혹시 어디가 잘못되었을까요?
46 replies