تنظیمات صورتحساب

تنظیم صورتحساب، یک پیوند در سطح حساب بین یک حساب Google Ads و یک حساب Payments (که به عنوان تنظیم فاکتور نیز شناخته می‌شود) است که عملاً تعیین می‌کند هزینه‌های ناشی از بودجه‌های حساب تنظیم صورتحساب برای چه کسی صورتحساب صادر شود. هر حساب Payments مربوط به یک فاکتور واحد است.

درباره حساب‌های پرداخت

هر BillingSetup یک حساب پرداخت را شناسایی می‌کند که برای هزینه‌های ناشی از بودجه‌های حساب خود، فاکتور صادر می‌کند. این حساب پرداخت با یک پروفایل پرداخت مرتبط است که در نهایت مسئول هزینه‌ها است.

تنظیمات صورتحساب شامل فیلد payments_account و گروهی از فیلدهای payments_account_info است که حساب Payments مورد استفاده را مشخص می‌کنند، از جمله موارد زیر:

  • payments_account_info.payments_account_id : یک شناسه ۱۶ رقمی که به صورت رشته‌ای با خط فاصله قالب‌بندی شده است (برای مثال، "1234-5678-9012-3456" ) که برای شناسایی حساب Payments مرتبط با تنظیمات صورتحساب استفاده می‌شود.
  • payments_account_info.payments_account_name : نام حساب پرداخت مرتبط با تنظیمات صورتحساب. این نام در فاکتورهای ماهانه چاپ می‌شود.
  • payments_account_info.payments_profile_id : یک شناسه ۱۲ رقمی که به صورت رشته‌ای با خط فاصله قالب‌بندی شده است (برای مثال، "1234-5678-9012" ) که برای شناسایی نمایه پرداخت‌های مرتبط با تنظیمات صورتحساب استفاده می‌شود.

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

ایجاد تنظیمات جدید صورتحساب

می‌توانید تنظیمات صورتحساب جدید را به حساب‌های پرداخت موجود یا حساب‌هایی که همزمان ایجاد شده‌اند، پیوند دهید.

از یک حساب پرداخت موجود استفاده کنید

برای پیوند با یک حساب پرداخت موجود ، payments_account روی نام منبع یک حساب پرداخت معتبر تنظیم کنید (برای مثال، customers/{customer_id}/paymentsAccounts/{payments_account_id} ). با این حال، payments_account_info تغییر ندهید .

شما می‌توانید حساب‌های پرداخت موجود را با استفاده از متد PaymentsAccountService.ListPaymentsAccounts فهرست کنید. اشیاء PaymentsAccount که برگردانده می‌شوند به حساب مدیریتی که برای احراز هویت استفاده می‌کنید بستگی دارند.

برای هر PaymentsAccount ، نام منبع مدیر پرداخت آن در فیلد paying_manager_customer قرار دارد.

از یک حساب پرداخت جدید استفاده کنید

برای پیوند با یک حساب پرداخت جدید، فیلدهای زیر را در payments_account_info تنظیم کنید ( payments_account تنظیم نکنید ):

مثال زیر نحوه ایجاد یک تنظیم صورتحساب جدید از یک شناسه پروفایل پرداخت موجود را نشان می‌دهد. همانطور که قبلاً اشاره شد، این کار همچنین یک حساب پرداخت جدید با نام My New Payments Account ایجاد می‌کند.

BillingSetup billingSetup =
    BillingSetup.newBuilder()
        .setPaymentsAccountInfo(
            PaymentsAccountInfo.newBuilder()
                .setPaymentsAccountName("My New Payments Account")
                .setPaymentsProfileId("1234-5678-9012")
                .build())
        .setStartTimeType(TimeTypeEnum.TimeType.NOW)
        .build();

BillingSetupOperation operation =
    BillingSetupOperation.newBuilder().setCreate(billingSetup).build();

try (BillingSetupServiceClient billingSetupServiceClient =
    googleAdsClient.getBillingSetupServiceClient()) {
  MutateBillingSetupResponse response =
      billingSetupServiceClient.mutateBillingSetup(
          Long.toString(customerId), operation);
}

اگر این اولین تنظیمات صورتحسابی است که به حساب گوگل ادز اضافه می‌شود، این کار عملاً مشتری را برای صورتحساب با استفاده از نمایه پرداخت‌های ارجاع‌شده ثبت‌نام می‌کند.

وضعیت تنظیم صورتحساب

نمونه‌های جدید BillingSetup قبل از اجرایی شدن، منوط به تأیید هستند. تا آن زمان، status آنها در حالت PENDING است.

یک BillingSetup می‌تواند یکی از مقادیر status زیر را داشته باشد:

BillingSetupStatus توضیحات
PENDING در انتظار تأیید.
APPROVED_HELD تأیید شده، اما بودجه اولیه مربوطه تأیید نشده است. این مشکل فقط برای تنظیمات صورتحساب پیکربندی شده برای صدور صورتحساب ماهانه رخ می‌دهد.
APPROVED راه اندازی تایید شد.
CANCELLED تنظیمات قبل از تأیید توسط کاربر لغو شده است.

بازیابی تنظیمات صورتحساب یک حساب

مانند اکثر موجودیت‌های دیگر در API گوگل ادز، یک BillingSetup با پرس‌وجوی GoogleAdsService.Search یا GoogleAdsService.SearchStream با استفاده از یک پرس‌وجوی زبان پرس‌وجوی گوگل ادز (GAQL) که مشخص می‌کند کدام فیلدها باید برگردانده شوند، دریافت می‌شود:

SELECT
  billing_setup.resource_name,
  billing_setup.id,
  billing_setup.status,
  billing_setup.payments_account,
  billing_setup.payments_account_info.payments_account_id,
  billing_setup.payments_account_info.payments_account_name,
  billing_setup.payments_account_info.payments_profile_id,
  billing_setup.payments_account_info.payments_profile_name,
  billing_setup.start_date_time,
  billing_setup.end_date_time,
  billing_setup.end_time_type
FROM billing_setup

پس از دریافت ارجاع به BillingSetup ، می‌توانید از آن برای ایجاد یک AccountBudgetProposal همانطور که در بخش Account Budgets توضیح داده شده است، استفاده کنید.

لغو تنظیمات صورتحساب در حال انتظار

یک BillingSetup که هنوز اعمال نشده است را می‌توان با ارسال یک BillingSetupOperation به همراه فیلد remove آن که برابر با نام منبع تنظیم صورتحساب ( customers/{customer_id}/billingSetups/{billing_setup_id} ) تنظیم شده است، لغو کرد. تنظیم صورتحساب‌ها فقط در صورتی قابل لغو هستند که status آنها PENDING باشد یا برای شروع در آینده APPROVED باشند.