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 adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
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 adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/493ab9f0-52fc-4f25-b7c2-c7f382ad10c6%40googlegroups.com.

Reply via email to