클라이언트 참조

com.google.android.gms.wallet 문서 에는 여러 버전의 Google Pay API에 대한 라이브러리의 전체 설명서가 포함되어 있습니다. 다음은 Google Pay API의 최신 버전인 2.0 버전에 가장 적합한 객체 및 메서드에 대한 요약입니다.

월렛

테스트 또는 프로덕션 환경에 대한 PaymentsClient를 생성합니다.

mPaymentsClient = Wallet.getPaymentsClient(
  this,
  new Wallet.WalletOptions.Builder()
      .setEnvironment(WalletConstants.ENVIRONMENT_TEST)
      .build()
);

PaymentsClient

Google Pay API와 상호작용하는 클라이언트입니다.

isReadyToPay(IsReadyToPayRequest)

isReadyToPay(IsReadyToPayRequest) 메서드를 사용하여 사용자가 Google Pay API에서 결제 방법을 반환할 수 있는지 확인합니다.

기기에서 Google Pay를 지원하고 사용자가 이미 결제 수단을 저장했거나 추가할 수 있는 경우 추가할 수 있는 경우 IsReadyToPaytrue를 반환합니다. 사용자가 이미 Google Pay에 결제 수단을 저장했는지 확인하려면 IsReadyToPayRequest.existingPaymentMethodRequiredtrue로 설정합니다.

loadPaymentData(PaymentDataRequest)

결제 수단 및 필요에 따라 구성된 매개변수를 선택할 수 있는 Google Pay 결제 시트를 제시합니다.

IsReadyToPayRequest

IsReadyToPayRequest 자바 객체를 빌드하여 PaymentsClient.isReadyToPay()와 함께 사용하기에 적합하도록 합니다.

fromJson(java.lang.String)

JSON 형식 문자열에서 IsReadyToPayRequest 자바 객체를 만듭니다. 제공된 JSON 형식 문자열의 올바른 구조는 IsReadyToPayRequest 객체 참조를 확인하세요.

PaymentDataRequest

PaymentDataRequest 자바 객체를 빌드합니다. PaymentsClient.loadPaymentData와 함께 사용하기에 적합합니다.

fromJson(java.lang.String)

JSON 형식 문자열에서 PaymentDataRequest 자바 객체를 만듭니다. 제공된 JSON 형식 문자열의 올바른 구조는 PaymentDataRequest 객체 참조 를 확인하세요.

PaymentData

앱에서 사용할 Google Pay API JSON 형식의 응답을 처리합니다.

toJson()

Google Pay API 응답을 JSON 형식의 문자열로 출력합니다. JSON 객체의 구조에 대한 자세한 내용은 PaymentData 객체 참조 를 확인하세요.

PayButton

public void initialize(ButtonOption buttonOptions)

편의 메서드는 최신 Google Pay 브랜드 스타일의 Google Pay 결제 버튼을 초기화하는 데 사용됩니다.

인수

이름 설명
buttonOptions Google Pay 결제 버튼을 구성하는 객체입니다. 구성 가능한 속성은 ButtonOptions를 참조하세요.

예: 커스텀 구성으로 결제 버튼 초기화

PayButton googlePayPaymentButton = layoutBinding.googlePayPaymentButton;
JSONArray paymentMethods = new JSONArray().put(getBaseCardPaymentMethod());
googlePayPaymentButton.initialize(
       ButtonOptions.newBuilder()
               .setButtonTheme(ButtonConstants.ButtonTheme.DARK)
               .setButtonType(ButtonConstants.ButtonType.BUY)
               .setCornerRadius(100)
               .setAllowedPaymentMethods(paymentMethods.toString())
               .build()
);

public void setVisibility(View view)

편의 메서드는 결제 버튼 공개 상태를 설정합니다.

인수

이름 설명
View

View.VISIBLE은 결제 버튼을 표시되도록 설정합니다 (기본값).

View.GONE은 사용자에게 버튼을 숨깁니다.

예:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

사용자가 Google Pay 결제 버튼을 클릭하면 메서드가 호출됩니다.

인수

이름 설명
listener 클릭 이벤트가 Google Pay 결제 버튼 에 전달될 때 호출할 이벤트 리스너 콜백입니다.

BasePaymentDataCallbacksService

`PaymentsClient.loadPaymentData(PaymentDataRequest)` 흐름 내에서 Google Play 서비스에 의해 시작된 결제 데이터 콜백을 호스팅하는 기본 서비스 클래스입니다.

애플리케이션에서 이 서비스를 확장하고 com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE 권한과 com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS의 인텐트 필터를 사용하여 AndroidManifest.xml에서 선언합니다.

createPaymentDataCallbacks()

수신 콜백 이벤트를 처리하기 위해 BasePaymentDataCallbacks 의 구현을 반환합니다. 콜백 이벤트당 한 번 호출됩니다.

BasePaymentDataCallbacks

유동 가격 업데이트 및 결제 승인을 지원하기 위해 판매자가 구현한 결제 데이터 콜백 핸들러가 포함된 추상 기본 클래스입니다.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

이 메서드는 배송지 주소, 배송 옵션 등 결제 시트의 결제 데이터 변경사항을 처리합니다.

인수

이름 유형 설명
intermediatePaymentData IntermediatePaymentData 결제 시트에서 선택한 주소 및 배송 옵션이 포함된 객체입니다. 자세한 내용은 IntermediatePaymentData를 참조하세요.
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> 업데이트된 거래 정보, 배송 옵션, 결제 데이터 오류로 확인하는 리스너입니다. PaymentDataRequestUpdate 인스턴스를 complete()에 전달합니다.

override fun onPaymentDataChanged(
    intermediatePaymentData: IntermediatePaymentData,
    onCompleteListener: OnCompleteListener<PaymentDataRequestUpdate>
) {
    val paymentDataRequestUpdateJson = handlePaymentDataChanged(intermediatePaymentData.toJson())
    val update = PaymentDataRequestUpdate.fromJson(paymentDataRequestUpdateJson.toString())
    onCompleteListener.complete(update)
}

onPaymentAuthorized(paymentData, onCompleteListener)

이 메서드는 결제 명세서에서 결제가 승인되면 호출됩니다.

인수

이름 유형 설명
paymentData PaymentData 요청된 쇼핑객 데이터가 포함된 객체입니다. 자세한 내용은 PaymentData를 참조하세요.
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> 승인 결과로 확인하는 리스너입니다. PaymentAuthorizationResult 인스턴스를 complete()에 전달합니다.

override fun onPaymentAuthorized(
    paymentData: PaymentData,
    onCompleteListener: OnCompleteListener<PaymentAuthorizationResult>
) {
    val paymentAuthorizationResultJson = handlePaymentAuthorized(paymentData.toJson())
    val result = PaymentAuthorizationResult.fromJson(paymentAuthorizationResultJson.toString())
    onCompleteListener.complete(result)
}

IntermediatePaymentData

BasePaymentDataCallbacks.onPaymentDataChanged에 전달된 중간 콜백 데이터를 처리합니다.

toJson()

콜백 요청 데이터를 JSON 형식 문자열로 출력합니다. JSON 객체의 구조에 대한 자세한 내용은 IntermediatePaymentData 객체 참조 를 확인하세요.

getLastSavedState()

이전 콜백 반복 중에 저장된 상태가 포함된 Bundle을 반환합니다.

PaymentDataRequestUpdate

BasePaymentDataCallbacks.onPaymentDataChanged에서 반환할 PaymentDataRequestUpdate 자바 객체를 빌드합니다.

fromJson(java.lang.String)

JSON 형식 문자열에서 PaymentDataRequestUpdate 자바 객체를 만듭니다. 제공된 JSON 형식 문자열의 올바른 구조는 PaymentDataRequestUpdate 객체 참조 를 확인하세요.

withUpdatedSavedState(Bundle)

콜백 호출 간에 유지할 업데이트된 상태 Bundle을 연결합니다.

PaymentAuthorizationResult

에서 반환할 PaymentAuthorizationResult 자바 객체를 빌드합니다BasePaymentDataCallbacks.onPaymentAuthorized.

fromJson(java.lang.String)

JSON 형식 문자열에서 PaymentAuthorizationResult 자바 객체를 만듭니다. 제공된 JSON 형식 문자열의 올바른 구조는 PaymentAuthorizationResult 응답 객체 참조 를 확인하세요.