- درخواست HTTP
- درخواست بدن
- بدن پاسخگو
- جزئیات ماموریت
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
حرکت پول را بین حساب مشتری در Google و پردازشگر پرداخت آغاز می کند. ترکیبی از requestId
در هدر و paymentIntegratorAccountId
کلید idempotency است و این تراکنش را به طور منحصربهفرد شناسایی میکند. تمام جهشها در این تراکنش (بازپرداخت) مقدار requestId
را در قسمت captureRequestId
پر میکنند.
اگر نقطه پایانی هنگام پردازش درخواست با خطا مواجه شود، بدنه پاسخ از این نقطه پایانی باید از نوع
باشد.ErrorResponse
یک نمونه درخواست به نظر می رسد:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
یک نمونه پاسخ به نظر می رسد:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
درخواست HTTP
POST https://www.integratorhost.example.com/v1/capture
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "requestHeader": { object ( |
زمینه های | |
---|---|
requestHeader | مورد نیاز : هدر مشترک برای همه درخواست ها. |
paymentIntegratorAccountId | الزامی : این شناسه حساب یکپارچهکننده پرداخت است که محدودیتهای قراردادی پیرامون این تراکنش را شناسایی میکند. |
transactionDescription | الزامی : این شرح معامله است که می تواند در اظهارنامه مشتری قرار گیرد. به userLocale موجود در |
currencyCode | مورد نیاز : کد ارز 3 حرفی ISO 4217 |
amount | الزامی : مبلغ خرید، بر حسب واحد ارز. |
captureContext | مورد نیاز : زمینه در مورد این ضبط. |
فیلد اتحادیه fopDetails . مورد نیاز : جزئیات FOP برای این تراکنش ضبط. fopDetails فقط می تواند یکی از موارد زیر باشد: | |
googlePaymentToken | نشانه ای که هر دو شرکت برای شناسایی حساب برای خرید بین یکدیگر استفاده می کنند. |
mandateDetails | جزئیات پرداخت خاص به دستورات. |
mandateWithNotificationDetails | جزئیات پرداخت مختص به دستورات، در مواردی که یک |
فیلد اتحادیه | |
authenticationRequestId | اختیاری : اگر این وجود داشته باشد، کاربر بلافاصله قبل از این تماس احراز هویت شده است، یا زمانی که یک برنامه پرداخت خودکار تنظیم شده است، احراز هویت شده است. |
otpVerification | اختیاری : داده های لازم برای تأیید یک OTP تولید شده از |
بدن پاسخگو
شی پاسخ برای روش ضبط.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "responseHeader": { object ( |
زمینه های | |
---|---|
responseHeader | مورد نیاز : هدر مشترک برای همه پاسخ ها. |
paymentIntegratorTransactionId | اختیاری : این شناسه مخصوص یکپارچه ساز است و توسط یکپارچه ساز تولید می شود. این شناسه ای است که ادغام کننده این تراکنش را با آن می شناسد. برای راحتی، این شناسه در جزئیات حواله گنجانده شده است |
userMessage | منسوخ شده : شرحی از نتیجه که در صورت عدم |
result | مورد نیاز : نتیجه این ضبط. |
rawResult | اختیاری : نتیجه خام این عکسبرداری. برای کمک به اطلاع رسانی به موتور ریسک و تجزیه و تحلیل Google استفاده می شود. در موقعیتهای نقشهبرداری کد کاهشی، دادهها گاهی از دست میروند. یکپارچهساز میتواند انتخاب کند که یک کد خام به Google بدهد. به عنوان مثال، یک دروازه کارت اعتباری (ادغام کننده) ممکن است از این فیلد برای برقراری ارتباط با Google کد رد دقیق دریافت شده از شبکه VISA استفاده کند. در آن صورت، اگر |
transactionLimit | اختیاری : اگر نتیجه این باید یک محدودیت نسبت به |
currentBalance | اختیاری : اگر نتیجه این مقدار باید به همان واحد پولی باشد که |
جزئیات ماموریت
جزئیات در مورد دستور گرفتن از.
نمایندگی JSON |
---|
{ "mandateId": string } |
زمینه های | |
---|---|
mandateId | الزامی است : شناسه فرمان ایجاد شده توسط Google که در طول تماس |
MandateWithNotificationDetails
جزئیات مربوط به دستور ضبط، همراه با جزئیات اعلانهای مورد نیاز.
نمایندگی JSON |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
زمینه های | |
---|---|
mandateId | الزامی است : شناسه فرمان ایجاد شده توسط Google که در طول تماس |
upcomingTransactionNotificationId | الزامی است : |
CaptureContext
این شی زمینه ای را در مورد نحوه درخواست عکس ارائه می دهد.
نمایندگی JSON |
---|
{ "userIpAddress": string } |
زمینه های | |
---|---|
userIpAddress | اختیاری : اگر خرید توسط کاربر در جلسه انجام شده باشد، این آدرس IP دستگاه کاربر است. اگر کاربر در جلسه نبود، این قسمت خالی می شود. اگر قرارداد خاصی نیاز به این زمینه را قید نکرده باشد، همیشه خالی خواهد بود. |
CaptureResultCode
کدهای نتیجه برای ضبط
Enums | |
---|---|
UNKNOWN_RESULT | هرگز این مقدار پیش فرض را تنظیم نکنید! |
SUCCESS | ضبط موفقیت آمیز، تحویل کالا. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT | amount این درخواست جذب از حد هر تراکنش بیشتر است. اگر از این کد استفاده میشود، قسمتtransactionLimit را برای اهداف پیامرسانی کاربر پر کنید. |
CHARGE_EXCEEDS_DAILY_LIMIT | این حساب در حال حاضر نمی تواند برای خرید استفاده شود زیرا از محدودیت روزانه خود فراتر رفته است. |
CHARGE_EXCEEDS_MONTHLY_LIMIT | این حساب در حال حاضر نمی تواند برای خرید استفاده شود زیرا از محدودیت های ماهانه خود فراتر رفته است. |
CHARGE_UNDER_LIMIT | amount این درخواست جذب با حداقل مبلغ تراکنش مطابقت ندارد. |
INSUFFICIENT_FUNDS | این حساب سرمایه کافی برای تضمین این ضبط را ندارد. |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY | این حساب از ارز درخواستی پشتیبانی نمی کند. |
ACCOUNT_CLOSED | حساب کاربری که با یکپارچه نگه داشته شده است بسته شده است. بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER | حساب کاربر با ادغام کننده بسته شده است، حساب مشکوک به کنترل است. بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند. |
ACCOUNT_ON_HOLD | حساب در حالت انتظار است. |
ACCOUNT_CLOSED_FRAUD | حساب کاربری که در ادغام کننده نگهداری می شود به دلیل کلاهبرداری بسته شده است. بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند. |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER | حساب فعال است، اما GPT توسط کاربر در سمت ادغام کننده باطل شده است. بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند. |
TOKEN_REFRESH_REQUIRED | برای بازگرداندن این مورد نیاز است که کاربر یک جریان تازه سازی را طی کند. |
OTP_NOT_MATCHED | OTP با آنچه که ادغام کننده ارسال کرد مطابقت نداشت. |
OTP_ALREADY_USED | OTP قبلاً استفاده شده بود. |
RISK_DECLINED | این تراکنش به دلیل بررسی ریسک در سمت ادغام کننده رد شد. این یک شکست دائمی برای این پرداخت است، اما باعث نمیشود که ابزار کاربر در Google بسته شود. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE | کاربر هیچ منبع مالی فعالی را در حساب خود پیکربندی نکرده است که بتواند برای تراکنش پرداخت کند. |
FUNDING_SOURCE_UNAVAILABLE | صادرکننده اصلی یا منبع وجوه در دسترس نیست و تلاش مجدد برای پرداخت موجود در صورت تکرار موفقیت آمیز نخواهد بود. وقتی یک کد پاسخ 4xx یا 5xx توسط یک شریک برگردانده شود، Google پرداختهایی را دوباره امتحان میکند. به همین دلیل، شرکا معمولاً باید یکی از آن کدهای پاسخ را برگردانند، اگر زمانی که منبع اصلی وجوه دوباره در دسترس باشد، سعی مجدد برای همین پرداخت انجام شود. اما، اگر دلایل فنی وجود داشته باشد که Google تلاش مجدد برای پرداخت را با شکست مواجه میکند، شریک میتواند «FUNDING_SOURCE_UNAVAILABLE» را بهعنوان راهی برای گفتن به Google که نباید دوباره همین پرداخت را امتحان کند، برگرداند. توجه: Google همچنان ممکن است این پرداخت را دوباره امتحان کند، اما فقط با یک requestId دیگر، اما این درخواست پرداخت به عنوان رد شده علامتگذاری میشود. |
MANDATE_NOT_ACTIVE | دستور استفاده شده برای این ضبط دیگر فعال نیست. این مقدار بازگشتی باعث میشود که ابزار دستور کاربر با Google بسته شود. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED | اعلانی که برای پرداخت دستوری مکرر به کاربر ارسال شده بود منقضی شده است. |