I'm tring with account level biiling setup followed by google-ads-api Creating
new billing setups
<https://developers.google.cn/google-ads/api/docs/billing/billing-setups>.
As It suggested
To sign up with an *existing* Payments account, set the payments_account to
the resource ID of a valid Payments account (payments_account_info should
*not* be set).
I tired with below codes:
from __future__ import absolute_import
import argparse
import six
import sys
import os
import google.ads.google_ads.client
GG_DEVELOP_TOKEN = "GG_DEVELOP_TOKEN"
def main(client, customer_id):
billing_setup_service = client.get_service('BillingSetupService',
version='v2')
# Create billing setup operation.
billing_setup_operation = client.get_type('BillingSetupOperation',
version='v2')
setup = billing_setup_operation.create
payments_accounts_path =
"customers/{}/paymentsAccounts/{}".format(customer_id,
"payments_account_id")
setup.payments_account.value = payments_accounts_path
setup.start_time_type = client.get_type("TimeTypeEnum").NOW
try:
billing_setup_response = billing_setup_service.mutate_billing_setup(
customer_id, billing_setup_operation)
print(billing_setup_response)
except google.ads.google_ads.errors.GoogleAdsException as ex:
print(ex)
if __name__ == '__main__':
# GoogleAdsClient will read the google-ads.yaml configuration file in
the
# home directory if none is specified.
credentials_dict_lb = {"token_uri":
"https://oauth2.googleapis.com/token", "token": None, "scopes":
["https://www.googleapis.com/auth/adwords",
"https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/userinfo.email", "openid"], "client_id": "
client_id", "refresh_token": "refresh_token", "client_secret": "
client_secret"}
credentials_m =
google.oauth2.credentials.Credentials(**credentials_dict_lb)
google_ads_client =
google.ads.google_ads.client.GoogleAdsClient(credentials_m,
GG_DEVELOP_TOKEN, login_customer_id='123456789')
parser = argparse.ArgumentParser(
description=('Removes billing setup for specified customer and
billing '
'setup ID.'))
# The following argument(s) should be provided to run the example.
parser.add_argument('-c', '--customer_id', type=six.text_type,
required=True, help='The Google Ads customer ID.')
args = parser.parse_args()
main(google_ads_client, args.customer_id)
And after executed the script I get error like
Request made: ClientCustomerId: 6384836037, Host:
googleads.googleapis.com:443, Method:
/google.ads.googleads.v2.services.Bil
lingSetupService/MutateBillingSetup, RequestId: pG9Dfss2kjObc5P4Cjazpw,
IsFault: True, FaultMessage: The customer does not ha
ve permission to signup for billing.
(<_Rendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Request contains an invalid argument."
debug_error_string =
"{"created":"@1568360172.261203468","description":"Error received from peer
ipv4:10.0.0.19:8118"
,"file":"src/core/lib/surface/call.cc","file_line":1052,"grpc_message":"Request
contains an invalid argument.","grpc_status": 3}"
>, <_Rendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Request contains an invalid argument."
debug_error_string =
"{"created":"@1568360172.261203468","description":"Error received from peer
ipv4:10.0.0.19:8118"
,"file":"src/core/lib/surface/call.cc","file_line":1052,"grpc_message":"Request
contains an invalid argument.","grpc_status": 3}"
>, errors {
error_code {
billing_setup_error: NO_SIGNUP_PERMISSION
}
message: "The customer does not have permission to signup for billing."
}
, 'pG9Dfss2kjObc5P4Cjazpw')
But whe I print the billing setups under the customer I get a new biiling
setup with status "PENDING"
Billing setup with ID "568283111", status "PENDING", payments_account
"customers/6384836037/paymentsAccounts/payments_account_id",
payments_account_id "payments_account_id", payments_account_name "",
payments_profile_id "payments_profile_id", payments_profile_name "",
secondary_payments_profile_id "".
It seemd that the new billing setup wat successfully created, but I get a
error, why this happend? Besides why payments_account_name is not displayed?
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/adwords-api/493ab9f0-52fc-4f25-b7c2-c7f382ad10c6%40googlegroups.com.