اشیاء پاسخ JSON

این مرجع گزینه‌های شیء پاسخ Google Pay API را برای استفاده با برنامه‌تان شرح می‌دهد. اشیاء پاسخ اشیایی هستند که توسط روش‌های کارخواه Google Pay API برگردانده می‌شوند.

PaymentData

این شیء پاسخ است که Google پس‌از تأیید پرداخت توسط پرداخت‌کننده برمی‌گرداند.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
دارایی نوع همیشه وجود دارد شرح
apiVersion شماره بله نسخه اصلی میانای برنامه‌سازی کاربردی. مقدار موجود در پاسخ با مقدار ارائه‌شده در
apiVersionMinor شماره بله نسخه جزئی میانای برنامه‌سازی کاربردی. مقدار موجود در پاسخ با مقدار ارائه‌شده در
paymentMethodData PaymentMethodData بله داده‌های مربوط به روش پرداخت انتخاب‌شده.
email رشته نه نشانی ایمیل، اگر emailRequired روی true تنظیم شده باشد در PaymentDataRequest. اگر درخواست دیگری دارای ویژگی تنظیم‌شده روی true باشد، تأثیری ندارد.
shippingAddress نشانی نه نشانی ارسال کالا، اگر shippingAddressRequired روی true در

مثال

این پاسخ نمونه برای Google Pay API نسخه ۲.۰ روش پرداخت CARD را نشان می‌دهد که در برگه پرداخت Google Pay انتخاب شده است. یک کد روش پرداخت برای درگاه example تولید شد.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

PaymentMethodData

این شیء داده‌های روش پرداخت انتخابی را ارائه می‌دهد.

دارایی نوع همیشه وجود دارد شرح
type رشته بله PaymentMethod type در برگه پرداخت Google Pay انتخاب شده است.
description رشته بله

پیام سَمت کاربر برای توصیف روش پرداختی که این تراکنش را تأمین مالی می‌کند.

info شیء بله مقدار این ویژگی به روش پرداخت type برگردانده‌شده بستگی دارد. برای CARD، CardInfo را ببینید.
tokenizationData PaymentMethodTokenizationData نه داده‌های نشان‌گذاری پرداخت برای روش پرداخت انتخاب‌شده.

مثال

این پاسخ نمونه نشان می‌دهد که چگونه روش پرداخت CARD که در برگه پرداخت Google Pay انتخاب شده است، یک توکن روش پرداخت برای درگاه example تولید می‌کند.

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

این شیء اطلاعاتی درباره کارت پرداخت انتخاب‌شده ارائه می‌دهد.

دارایی نوع همیشه وجود دارد شرح
cardDetails رشته بله جزئیات مربوط به کارت. این مقدار معمولاً چهار رقم آخر شماره حساب پرداخت انتخاب‌شده است.
assuranceDetails AssuranceDetailsSpecifications بله این شیء اطلاعاتی درباره درستی‌سنجی انجام‌شده روی داده‌های پرداخت برگردانده‌شده ارائه می‌دهد، اگر assuranceDetailsRequired روی true در CardParameters.
cardNetwork رشته بله

شبکه کارت پرداخت مربوط به پرداخت انتخاب‌شده. مقادیر برگردانده‌شده با قالب allowedCardNetworks در CardParameters.

این مقدار شبکه کارت نباید به خریدار نشان داده شود. این روش زمانی استفاده می‌شود که جزئیات کارت خریدار موردنیاز باشد. برای مثال، اگر پشتیبانی مشتری به این مقدار نیاز داشته باشد تا کارتی را که خریدار برای تراکنش خود استفاده کرده است شناسایی کند. برای شرح قابل‌مشاهده برای کاربر، به‌جای آن از خصوصیت description PaymentMethodData استفاده کنید.

billingAddress نشانی نه نشانی صورت‌حساب مرتبط با روش پرداخت ارائه‌شده، اگر billingAddressRequired روی true در CardParameters.
cardFundingSource رشته بله

منبع تأمین بودجه کارت برای روش پرداخت انتخاب‌شده.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

مثال

این مثال کارتی را در شبکه Visa نشان می‌دهد.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

این شیء اطلاعاتی درباره اعتبارسنجی انجام‌شده روی اعتبارنامه پرداخت برگردانده‌شده ارائه می‌دهد تا بررسی‌های مناسب ریسک ابزار اعمال شود.

نام نوع شرح
accountVerified بولی اگر true، نشان می‌دهد که اعتبار سنجی مالکیت Cardholder روی اعتبارنامه پرداخت برگشتی انجام شده است.
cardHolderAuthenticated بولی

اگر true باشد، نشان می‌دهد که شناسایی و درستی‌سنجی (ID&V) روی اعتبارنامه پرداخت برگردانده‌شده انجام شده است.

اگر false، همان اصالت‌سنجی مبتنی بر ریسک را که برای تراکنش‌های کارت انجام می‌دهید می‌توانید انجام دهید. این اصالت‌سنجی مبتنی بر ریسک می‌تواند شامل، اما نه محدود به، ارتقا با پروتکل 3D Secure درصورت وجود باشد.

حتی اگر از فیلد assuranceDetails استفاده نکنید، می‌توانید «شیء» پاسخ را دریافت و پردازش کنید. برای دریافت این شیء، assuranceDetailsRequired: true را در CardParameters.

PaymentMethodTokenizationData

این شیء داده‌های توکنی‌سازی را برای روش پرداخت ارائه می‌دهد.

دارایی نوع همیشه وجود دارد شرح
type رشته بله نوع نشان‌گذاری که باید برای روش پرداخت انتخاب‌شده اعمال شود. این مقدار با type تنظیم‌شده در PaymentMethodTokenizationSpecification.
token رشته نه

نشان روش پرداخت تولیدشده.

  • PAYMENT_GATEWAY: رشته شیء JSON که حاوی یک توکن قابل‌شارژ صادرشده توسط درگاه شما است.
  • DIRECT: protocolVersion، signature، و signedMessage برای رمزگشایی. برای اطلاعات بیشتر، ساختار کد روش پرداخت را ببینید.

مثال

این نمونه‌ای از پاسخ نشان‌گذاری‌شده است که برای درگاه example آماده شده است.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

PaymentAuthorizationResult

این شیء اطلاعاتی درباره نتیجه مجوز پرداخت ارائه می‌دهد.

دارایی نوع ضرورت شرح
transactionState رشته الزامی وضعیت تراکنش با یکی از نتایج فروشنده زیر حل می‌شود:
  • SUCCESS
  • ERROR
error PaymentDataError اختیاری خطایی که درصورت نیاز به تکرار پرداخت، در برگه پرداخت برای کاربر نمایش داده می‌شود.

مثال

مثال زیر نتیجه پرداخت را پس‌از پردازش پرداخت نشان می‌دهد:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

دارایی نوع ضرورت شرح
reason رشته الزامی

فهرست دلایل خطای ازپیش تعریف‌شده:

  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message رشته الزامی پیام خطایی که در کادر گفتگویی به کاربر نمایش داده می‌شود.
intent رشته الزامی

هدف خطا.

  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

مثال

این مثال هدف خطا و پیامی را نشان می‌دهد که باید در برگه پرداخت ارائه شود.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

نشانی

این شیء اطلاعاتی درباره نشانی پستی درخواست‌شده ارائه می‌دهد. همه ویژگی‌ها رشته هستند.

نشانی‌ها را می‌توان در قالب‌های MIN، FULL، و FULL-ISO3166 برگرداند. ویژگی‌های مربوط به هر قالب را می‌توانید در جدول زیر ببینید.

دارایی قالب نشانی شرح
name MIN، FULL، FULL-ISO3166 نام کامل گیرنده.
postalCode MIN، FULL، FULL-ISO3166 کد پستی.
countryCode MIN، FULL، FULL-ISO3166 کد کشور ISO 3166-1 alpha-2.
phoneNumber MIN، FULL، FULL-ISO3166 شماره تلفن، اگر phoneNumberRequired روی true در PaymentDataRequest.
address1 ‫FULL،‏ FULL-ISO3166 خط اول نشانی.
address2 ‫FULL،‏ FULL-ISO3166 خط دوم نشانی.
address3 ‫FULL،‏ FULL-ISO3166 خط سوم نشانی.
locality ‫FULL،‏ FULL-ISO3166 شهر، شهرک، محله، یا حومه.
administrativeArea ‫FULL،‏ FULL-ISO3166 بخش فرعی کشور، مثل ایالت یا استان.
sortingCode ‫FULL،‏ FULL-ISO3166 کد مرتب‌سازی.
iso3166AdministrativeArea FULL-ISO3166 کد تقسیمات کشوری ISO 3166-2 مربوط به administrativeArea.

مثال

این نمونه‌ای از نشانی با قالب FULL-ISO3166 در ایالات متحده است که چند خط داده نشانی خیابان دارد.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

IntermediatePaymentData

این شیء توسط ورودی onPaymentDataChanged() میانای برنامه‌سازی کاربردی Google Pay برگردانده می‌شود وقتی نشانی ارسال کالا یا گزینه‌های ارسال کالا در برگه پرداخت تغییر می‌کند.

دارایی نوع ضرورت شرح
callbackTrigger رشته اختیاری

دلیل فراخوانی بازخوانی داده‌های پرداخت را شرح می‌دهد.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • PAYMENT_METHOD
shippingAddress IntermediateAddress اختیاری نشانی انتخاب‌شده در برگه پرداخت.
shippingOptionData SelectionOptionData اختیاری گزینه ارسال انتخاب‌شده در برگه پرداخت.
paymentMethodData IntermediatePaymentMethodData اختیاری داده‌های روش پرداخت انتخاب‌شده در برگه پرداخت.

مثال‌ها

این نمونه بار داده واسطه‌ای را نشان می‌دهد که از Google Pay API برای تغییرات نشانی ارسال کالا برگردانده شده است.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

این مثال بار داده واسطی را نشان می‌دهد که هنگام تغییر روش پرداخت برگردانده می‌شود.

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

IntermediateAddress

نشانی واسط حاوی نشانی ارسال کالا ویرایش‌شده (بدون خطوط نشانی سطح خیابان یا نام گیرنده) است تا امکان محاسبه مالیات و گزینه‌های ارسال کالا قبل‌از اینکه کاربر پرداخت را مجاز کند وجود داشته باشد.

دارایی نوع ضرورت شرح
administrativeArea رشته الزامی بخش فرعی کشور، مثل ایالت یا استان.
countryCode رشته الزامی کد کشور ISO 3166-1 alpha-2.
locality رشته الزامی شهر، شهرک، محله، یا حومه.
postalCode رشته الزامی کد پستی ویرایش‌شده براساس کشور. برای کانادا و پادشاهی متحد (UK)، این فقط شامل سه نویسه اول است. برای ایالات متحده، این شامل پنج رقم اول است.
iso3166AdministrativeArea رشته اختیاری کد تقسیمات کشوری ISO 3166-2 مربوط به administrativeArea. فقط درصورتی وجود دارد که قالب نشانی ارسال کالا FULL-ISO3166 باشد.

مثال

این مثال نشانی انتخاب‌شده در برگه پرداخت را به شما نشان می‌دهد.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

دارایی نوع ضرورت شرح
id رشته الزامی مطابقت با SelectionOption.id

مثال

این مثال گزینه ارسال انتخاب‌شده در برگه پرداخت را به شما نشان می‌دهد.

{
  "id": "shipping-001"
}

IntermediatePaymentMethodData

این شیء حاوی اطلاعات محدودی درباره روش پرداخت انتخاب‌شده برای فراخوانی‌های توسعه‌دهنده است.

دارایی نوع ضرورت شرح
type رشته الزامی نوع روش پرداخت. فقط CARD برای این کال‌بک پشتیبانی می‌شود.
info IntermediateCardInfo اختیاری اطلاعات مربوط به کارت انتخاب‌شده. فقط درصورتی وجود دارد که type، CARD باشد.

IntermediateCardInfo

این شیء حاوی اطلاعات محدودی درباره کارت انتخاب‌شده است که در فراخوانی‌های توسعه‌دهنده استفاده می‌شود.

دارایی نوع ضرورت شرح
billingAddress IntermediateAddress اختیاری نشانی صورت‌حساب منسوب به کارت. فقط زمانی درج می‌شود که نشانی صورت‌حساب به‌عنوان الزامی تنظیم شده باشد.
cardNetwork رشته اختیاری

شبکه کارت پرداخت مربوط به کارت پرداخت انتخاب‌شده. مقادیر برگردانده‌شده با قالب allowedCardNetworks در CardParameters.

این مقدار شبکه کارت نباید به خریدار نشان داده شود.

cardFundingSource رشته اختیاری

منبع تأمین بودجه کارت برای کارت پرداخت انتخاب‌شده.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID