#NEWLINE# @ staticmethod #NEWLINE# def signature( type ) : #NEWLINE# #INDENT# billing_address_params = [ 'company' , 'country_code_alpha2' , 'country_code_alpha3' , 'country_code_numeric' , 'country_name' , 'extended_address' , 'first_name' , 'last_name' , 'locality' , 'postal_code' , 'region' , 'street_address' ] #NEWLINE# options = [ 'make_default' , 'verification_merchant_account_id' , 'verify_card' , 'verification_amount' , 'venmo_sdk_session' ] #NEWLINE# signature = [ 'billing_address_id' , 'cardholder_name' , 'cvv' , 'expiration_date' , 'expiration_month' , 'expiration_year' , 'device_session_id' , 'fraud_merchant_id' , 'number' , 'token' , 'venmo_sdk_payment_method_code' , 'device_data' , 'payment_method_nonce' , { #NEWLINE# #INDENT# 'billing_address' : billing_address_params , #NEWLINE# #UNINDENT# } , { #NEWLINE# #INDENT# 'options' : options , #NEWLINE# #UNINDENT# } ] #NEWLINE# if ( type == 'create' ) : #NEWLINE# #INDENT# signature . append ( 'customer_id' ) #NEWLINE# options . append ( 'fail_on_duplicate_payment_method' ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( type == 'update' ) : #NEWLINE# #INDENT# billing_address_params . append ( { #NEWLINE# #INDENT# 'options' : [ 'update_existing' ] , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( type == 'update_via_customer' ) : #NEWLINE# #INDENT# options . append ( 'update_existing_token' ) #NEWLINE# billing_address_params . append ( { #NEWLINE# #INDENT# 'options' : [ 'update_existing' ] , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise AttributeError #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# return signature