1- require 'rubygems'
2- require 'yaml'
3- require 'authorizenet'
4-
5- include AuthorizeNet ::API
6-
7- config = YAML . load_file ( File . dirname ( __FILE__ ) + "/../credentials.yml" )
8-
9- transaction = Transaction . new ( config [ 'api_login_id' ] , config [ 'api_transaction_key' ] , :gateway => :sandbox )
10-
11-
12- request = CreateCustomerPaymentProfileRequest . new
13-
14- payment = PaymentType . new ( CreditCardType . new ( '4111111111111111' , '2020-05' ) )
15- profile = CustomerPaymentProfileType . new ( nil , nil , payment , nil , nil )
16-
17- request . paymentProfile = profile
18- request . customerProfileId = '35894174'
19- response = transaction . create_customer_payment_profile ( request )
20-
21-
22- if response . messages . resultCode == MessageTypeEnum ::Ok
23- puts "Successfully created a customer payment profile with id: #{ response . customerPaymentProfileId } "
24- else
25- puts "Failed to create a new customer payment profile: #{ response . messages . messages [ 0 ] . text } "
26- end
1+ require 'rubygems'
2+ require 'yaml'
3+ require 'authorizenet'
4+ require 'securerandom'
5+
6+ include AuthorizeNet ::API
7+
8+ def create_customer_payment_profile ( customerProfileId = '35894174' )
9+ config = YAML . load_file ( File . dirname ( __FILE__ ) + "/../credentials.yml" )
10+
11+ transaction = Transaction . new ( config [ 'api_login_id' ] , config [ 'api_transaction_key' ] , :gateway => :sandbox )
12+
13+
14+ request = CreateCustomerPaymentProfileRequest . new
15+
16+ payment = PaymentType . new ( CreditCardType . new ( '4111111111111111' , '2020-05' ) )
17+ profile = CustomerPaymentProfileType . new ( nil , nil , payment , nil , nil )
18+ profile . billTo = CustomerAddressType . new
19+ profile . billTo . firstName = "John"
20+ profile . billTo . lastName = "Snow"
21+
22+ request . paymentProfile = profile
23+ request . customerProfileId = customerProfileId
24+ response = transaction . create_customer_payment_profile ( request )
25+
26+
27+ if response . messages . resultCode == MessageTypeEnum ::Ok
28+ puts "Successfully created a customer payment profile with id: #{ response . customerPaymentProfileId } "
29+ else
30+ puts "Failed to create a new customer payment profile: #{ response . messages . messages [ 0 ] . text } "
31+ end
32+ return response
33+ end
34+
35+ if __FILE__ == $0
36+ create_customer_payment_profile ( )
37+ end
0 commit comments