结算设置是指 Google Ads 账号与支付账号(也称为账单设置)之间的账号级关联,可有效确定谁将为结算设置的账号预算产生的费用付款。每个支付账号都对应一张账单。
关于付款账号
每个 BillingSetup 都用于标识一个支付账号,该账号会收到账单,用于支付其账号预算产生的费用。此支付账号与最终负责支付费用的支付资料相关联。
结算设置包含 payments_account 字段和一组用于标识所用支付账号的 payments_account_info 字段,包括:
payments_account_info.payments_account_id:一种 16 位数 ID,格式为以连字符分隔的字符串(例如"1234-5678-9012-3456"),用于标识与结算设置相关联的支付账号。payments_account_info.payments_account_name:与结算设置关联的支付账号的名称。此名称会印在月度账单上。payments_account_info.payments_profile_id:一种 12 位数 ID,格式为带连字符的字符串(例如"1234-5678-9012"),用于标识与结算设置关联的支付资料。
如果某个支付账号符合合并结算条件,那么通过将多个 Google Ads 账号的结算设置设为使用同一个基础支付账号,可以将这些账号归入同一张账单。
创建新的结算设置
您可以将新的结算设置与现有的付款账号相关联,也可以与同时创建的付款账号相关联。
使用现有支付账号
如需与现有支付账号相关联,请将 payments_account 设置为有效支付账号的资源名称(例如 customers/{customer_id}/paymentsAccounts/{payments_account_id})。不过,请勿修改 payments_account_info。
您可以使用 PaymentsAccountService.ListPaymentsAccounts 方法列出可用的付款账号。返回的 PaymentsAccount 对象取决于您用于身份验证的经理账号。
对于每个 PaymentsAccount,其付款经理账号的资源名称位于 paying_manager_customer 字段中。
使用新的支付账号
如需与新的支付账号相关联,请在 payments_account_info 中设置以下字段(请勿设置 payments_account):
以下示例展示了如何通过现有支付资料 ID 创建新的结算设置。如前所述,此操作还会创建一个名为 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);
}
如果这是首次向 Google Ads 账号添加结算设置,则此操作实际上会使客户注册使用所引用的付款资料进行结算。
结算设置状态
新的 BillingSetup 实例在生效前需要获得批准。在此之前,其 status 处于 PENDING 状态。
BillingSetup 可具有以下 status 值之一:
BillingSetupStatus |
说明 |
|---|---|
PENDING |
待批准。 |
APPROVED_HELD |
已获批准,但相应的第一笔预算尚未获批。这仅适用于针对按月账单结算配置的结算设置。 |
APPROVED |
设置已获批准。 |
CANCELLED |
在获得批准之前,用户取消了设置。 |
检索账号的结算设置
与 Google Ads API 中的大多数其他实体一样,BillingSetup 是通过查询 GoogleAdsService.Search 或 GoogleAdsService.SearchStream 来提取的,所用的 Google Ads 查询语言 (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,如账号预算中所述。
取消待处理的结算设置
如果 BillingSetup 尚未生效,则可以通过发送 BillingSetupOperation 来取消,其中 remove 字段设置为结算设置的资源名称 (customers/{customer_id}/billingSetups/{billing_setup_id})。只有当结算设置的 status 为 PENDING 或 APPROVED 时,才能取消结算设置。