اشیاء پاسخ

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

پاسخ آماده پرداخت است

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

ملک نوع همیشه وجود دارد توضیحات
result بولی بله بازدیدکننده فعلی می‌تواند اطلاعات پرداخت را به سایتی که درخواست می‌کند ارائه دهد. توانایی پرداخت یک بازدیدکننده ممکن است به توانایی مرورگر وب او در نمایش اجزای مورد نیاز برای روش‌های پرداخت مشخص شده بستگی داشته باشد. این شامل زمانی می‌شود که آنها وارد یک حساب گوگل می‌شوند و یک روش پرداخت ارائه می‌دهند.
paymentMethodPresent بولی خیر

اگر true ، بازدیدکننده یک یا چند روش پرداخت دارد که در ویژگی allowedPaymentMethods از فرم ارائه شده مشخص شده است. درخواست آماده پرداخت .

فقط زمانی وجود دارد که existingPaymentMethodRequired در ... روی true تنظیم شده باشد. درخواست آماده پرداخت .

اگر PaymentsClient با یک ویژگی environment TEST مقداردهی اولیه شود، یک روش پرداخت همیشه موجود در نظر گرفته می‌شود.

مثال

مثال زیر به شما نشان می‌دهد که بازدیدکننده فعلی چه زمانی می‌تواند اطلاعات پرداخت را به سایتی که آن را درخواست می‌کند ارائه دهد.

{
  "result": true
}

داده‌های پرداخت

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

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

مثال

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

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

داده‌های پرداخت میانی

این شیء توسط ورودی onPaymentDataChanged() از API گوگل پی، هنگام تغییر آدرس ارسال یا گزینه‌های ارسال در برگه پرداخت، بازگردانده می‌شود.

ملک نوع ضرورت توضیحات
callbackTrigger رشته اختیاری

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

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData آفر دیتا اختیاری کد تبلیغاتی ارائه شده توسط کاربر.
shippingAddress آدرس میانی اختیاری آدرس انتخاب شده در برگه پرداخت.
shippingOptionData داده‌های گزینه انتخاب اختیاری گزینه ارسال انتخاب شده در برگه پرداخت.

مثال

این مثال، payload میانیِ برگردانده شده از API گوگل پی را نشان می‌دهد.

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

داده‌های روش پرداخت

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

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

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

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

مثال

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

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

کارت اینفو

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

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

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

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

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

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

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

مثال

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

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

جزئیات تضمینمشخصات

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

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

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

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

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

روش پرداختتوکن‌سازیداده‌ها

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

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

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

مثال

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

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

نتیجه مجوز پرداخت

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

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

مثال

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

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

خطای داده پرداخت

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

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

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

هدف خطا. این باید خطایی باشد که از ابتدای جریان در PaymentDataRequest ثبت شده است.

  • OFFER
  • 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 تنظیم شده باشد درخواست داده‌های پرداخت .
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"
}

آدرس میانی

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

مثال

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

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

داده‌های گزینه انتخاب

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

مثال

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

{
  "id": "shipping-001"
}

آفر دیتا

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

ملک نوع ضرورت توضیحات
redemptionCodes آرایه همیشه وجود دارد مجموعه‌ای از کدهای تبلیغاتی که در برگه پرداخت وارد شده‌اند. شامل کدهایی است که قبلاً تأیید شده‌اند.

مثال

مثال زیر یک شیء OfferData را با آرایه redemptionCodes نشان می‌دهد.

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}