목차

결제위젯 Android SDK는 Android 환경에서 사용할 수 있는 결제위젯 메서드를 제공합니다. SDK를 추가하고 메서드를 사용하는 방법을 알아봅니다.

샘플 프로젝트토스페이먼츠 Android SDK 샘플 프로젝트를 확인하세요

SDK 추가

요구 사항

결제위젯 Android SDK를 설치하기 전에 최소 요구 사항을 확인하세요.

  • minSdk 21 이상

Gradle 설정

프로젝트의 Gradle 설정을 아래와 같이 설정하면 결제위젯 Android SDK를 사용하실 수 있습니다.

build.gradle(Project)
allprojects {
repositories {
...
mavenCentral()
maven { url "https://jitpack.io" }
}
}
build.gradle(App)
dependencies {
implementation 'com.github.tosspayments:payment-sdk-android:0.1.2'
}

Layout 설정

res/layout 디렉토리에 결제 화면의 Layout XML 파일을 생성하세요. 파일 안에 PaymentMethodWidget을 추가해주세요.

activity.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white">
...
<com.tosspayments.paymentsdk.view.PaymentMethodWidget android:id="@+id/payment_widget" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" />
...
</androidx.constraintlayout.widget.ConstraintLayout>

클래스

PaymentWidget

토스페이먼츠 위젯입니다. Android SDK는 결제위젯 이용약관 메서드를 제공하지 않습니다.

생성자

PaymentWidget(activity: AppCompatActivity, clientKey: String, customerKey: String, options: PaymentWidgetOptions?)

파라미터

  • activity

    AppCompatActivity입니다.

  • clientKey

    내 상점의 클라이언트 키입니다. API 키 페이지에서 확인할 수 있습니다.

  • customerKey

    고객 ID입니다. 충분히 무작위한 값을 직접 생성해서 사용하세요. 비회원 결제에는 PaymentWidget.ANONYMOUS를 사용하세요.

  • options optional

    결제위젯 Pro 플랜 기능을 설정하는 PaymentWidgetOptions 객체입니다.

메서드

setMethodWidget

위젯 라이브러리에 결제위젯을 설정하는 메서드입니다.

setMethodWidget(methodWidget: PaymentMethodWidget)
파라미터

renderPaymentMethodWidget

결제위젯을 렌더링하는 메서드입니다.

renderPaymentMethodWidget(amount: Number, orderId: String)
파라미터
  • amount

    결제할 금액입니다.

  • orderId

    주문 ID입니다. 충분히 무작위한 값을 직접 생성해서 사용하세요. 영문 대소문자, 숫자, 특수문자 -, _로 이루어진 6자 이상 64자 이하의 문자열이어야 합니다.

requestPayment

고객이 선택한 결제수단의 결제창을 호출하는 메서드입니다.

requestPayment(paymentResultLauncher: ActivityResultLauncher<Intent>,
orderId: String,
orderName: String,
customerEmail: String?,
customerName: String?,
taxFreeAmount: Number?
)
파라미터
  • paymentResultLauncher

    결제 결과로 활동(Activity)을 실행하는 ActivityResultLauncher입니다.

  • orderId

    주문 ID입니다. 충분히 무작위한 값을 직접 생성해서 사용하세요. 영문 대소문자, 숫자, 특수문자 -, _로 이루어진 6자 이상 64자 이하의 문자열이어야 합니다.

  • orderName

    주문명입니다. 예를 들면 생수 외 1건 같은 형식입니다. 최대 길이는 100자입니다.

  • customerName optional

    고객의 이름입니다. 최대 길이는 100자입니다.

  • customerEmail optional

    고객의 이메일 주소입니다. 최대 길이는 100자입니다.

  • taxFreeAmount optional

    결제 금액 중 면세 금액입니다.

PaymentWidgetOptions

결제위젯 Pro 플랜 기능을 설정하는 클래스입니다.

생성자

PaymentWidgetOptions 객체를 생성합니다.

build()

PaymentWidgetOptions.Builder

PaymentWidgetOptions 객체를 생성하는 Builder 클래스입니다.

생성자

Builder 객체를 생성합니다.

PaymentWidgetOptions.Builder()

brandPayOption

결제위젯에 브랜드페이를 추가할 때 설정합니다.

brandPayOption(redirectUrl: String)
파라미터

PaymentMethodWidget

결제위젯 View입니다.

PaymentMethodWidget(context: Context, attrs: AttributeSet? = null): View
파라미터

TossPaymentResult

결제 결과 정보를 담고 있는 Sealed 클래스입니다.

sealed class TossPaymentResult{
class Success(paymentKey: String, orderId: String, amount: Number, additionalParameters: Map<String, String>): TossPaymentResult()
class Fail(errorCode: String, errorMessage: String, orderId: String): TossPaymentResult()
}

TossPaymentResult.Success

  • paymentKey

    결제를 식별하는 키 값입니다. 결제 승인, 결제 조회, 결제 취소 등 운영에 필요한 값입니다.

  • orderId

    주문 ID입니다. 결제 요청에 담아 보낸 값입니다.

  • amount

    결제할 금액입니다.

  • additionalParmeters

    브랜드페이를 추가하는 Pro 플랜 기능을 사용하고 있다면 필요한 파라미터입니다.

  • paymentType

    결제 유형입니다. NORMAL, BRANDPAY 중 하나입니다.

TossPaymentResult.Fail

  • errorCode

    에러 코드입니다.

  • errorMessage

    에러 메시지입니다.

  • orderId

    주문 ID입니다. 결제 요청에 담아 보낸 값입니다.

  • 더 궁금한 내용이 있나요?
  • 코드 샘플을 참고하세요
  • 기술지원이 필요한가요?
    디스코드 채팅|이메일 보내기