<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Make customer profile when charging card in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59793#M34365</link>
    <description>&lt;P&gt;Right, that's what I'm doing in the code and it's not creating the customer,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    # Create customer profile on transaction
    createcustomerprofile = apicontractsv1.customerProfilePaymentType()
    createcustomerprofile.createProfile = True&lt;/PRE&gt;&lt;P&gt;And then later adding it in&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    transactionrequest.profile = createcustomerprofile&lt;/PRE&gt;&lt;P&gt;But it's not creating the profile&lt;/P&gt;</description>
    <pubDate>Wed, 13 Sep 2017 19:38:44 GMT</pubDate>
    <dc:creator>nadermx</dc:creator>
    <dc:date>2017-09-13T19:38:44Z</dc:date>
    <item>
      <title>Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59786#M34358</link>
      <description>&lt;P&gt;I'm currently charging a customer and then trying to create a customer profile based on that charge.&amp;nbsp; The problem is that when I try and actually create the customer it fails, telling me that there is no response and instead prints out `&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;AttributeError: no such child: {AnetApi/xml/v1/schema/AnetApiSchema.xsd}customerProfileId&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Here is the code, and below this chunk is a bit more explanation and what I'm doing to parse the response.&lt;/P&gt;&lt;PRE&gt;    merchantAuth = apicontractsv1.merchantAuthenticationType()
    merchantAuth.name = app_config.AUTHORIZE_KEYS['apiLoginId']
    merchantAuth.transactionKey = app_config.AUTHORIZE_KEYS['transactionKey']
    # Create the payment object for a payment nonce
    opaqueData = apicontractsv1.opaqueDataType()
    opaqueData.dataDescriptor = request.form['dataDesc']
    opaqueData.dataValue = request.form['dataValue']

    # Add the payment data to a paymentType object
    paymentOne = apicontractsv1.paymentType()
    paymentOne.opaqueData = opaqueData

    # Create order information
    order = apicontractsv1.orderType()
    order.invoiceNumber = "invoice_%s" % user.id
    order.description = "Awesome"
    # Set the customer's identifying information
    customerData = apicontractsv1.customerDataType()
    customerData.type = "individual"
    customerData.id = "cus_%s" % user.id
    customerData.email = email
    # Giving the credit card info
    # Setting billing information
    billto = apicontractsv1.nameAndAddressType()
    billto.firstName = request.form['firstName']
    billto.lastName = request.form['lastName']
    billto.address = address1
    billto.city = city
    billto.state = state
    billto.zip = zipcode
    billto.country = country
    item = request.form['item']
    if item == 'dollar':
        amount = "3.00"
    if item == "monthly":
        amount = "5.00"
        length = 1
    if item == "annual":
        amount = "50.00"
        length = 12
    # Create order information
    order = apicontractsv1.orderType()
    order.invoiceNumber = "invoice_%s" % user.id
    order.description = "Awesomeness"

    # # Set the customer's Bill To address
    customerAddress = apicontractsv1.customerAddressType()
    customerAddress.firstName = request.form['firstName']
    customerAddress.lastName = request.form['lastName']
    customerAddress.address = address1
    customerAddress.city = city
    customerAddress.state = state
    customerAddress.zip = zipcode
    customerAddress.country = country

    # Create customer profile on transaction
    createcustomerprofile = apicontractsv1.customerProfilePaymentType()
    createcustomerprofile.createProfile = True

    # Create a transactionRequestType object and add the previous objects to it.
    transactionrequest = apicontractsv1.transactionRequestType()
    transactionrequest.transactionType = "authCaptureTransaction"
    transactionrequest.amount = amount
    transactionrequest.payment = paymentOne
    transactionrequest.order = order
    transactionrequest.billTo = customerAddress
    transactionrequest.customer = customerData
    transactionrequest.profile = createcustomerprofile

    # Assemble the complete transaction request
    createtransactionrequest = apicontractsv1.createTransactionRequest()
    createtransactionrequest.merchantAuthentication = merchantAuth
    createtransactionrequest.refId = refId
    createtransactionrequest.transactionRequest = transactionrequest

    # Create the controller
    createtransactioncontroller = createTransactionController(createtransactionrequest)
    createtransactioncontroller.setenvironment(app_config.AUTH_NET_ENVIRONMENT)
    createtransactioncontroller.execute()&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;The problem seems to occur when I try and prase the response. but when I actually run the code as is suggested in the developers documenation&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;   response = createtransactioncontroller.getresponse()
    logging.debug("%s" % response)
    if response is not None:
            # Check to see if the API request was successfully received and acted upon
        if response.messages.resultCode == "Ok":
            # Since the API request was successful, look for a transaction response
            # and parse it to display the results of authorizing the card
            if hasattr(response.transactionResponse, 'messages') == True:
                if hasattr(response.profileResponse, 'messages') == True:
                    print('made it here')
                models.Payment(user=user, payment_date=datetime.utcnow(),
                                         authorize={'email': email, 'updated': False,
                                                    'address': u'%s %s' % (address1, address2),
                                                    'messages': {'transId':'%s' % response.transactionResponse.transId,
                                                    'responseCode':'%s' % response.transactionResponse.responseCode,
                                                    'auth_code':'%s' % response.transactionResponse.messages.message[0].code,
                                                    'Description':'%s' % response.transactionResponse.messages.message[0].description,
                                                    'email':email},
                                                    # 'customerProfileId': '%s' % response.profileResponse.customerProfileId,
                                                    # 'customerPaymentProfileIdList': '%s' % response.profileResponse.customerPaymentProfileIdList,
                                                    })&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Given their [documentation][1] shows that the you can create the customer when making the transaction not sure why it's returning that it's not working.&lt;BR /&gt;&lt;BR /&gt;Also when I check the [schema for the xml response][2] it seems I'm setting it correctly.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; [1]: &lt;A href="http://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-credit-card" target="_blank"&gt;http://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-credit-card&lt;/A&gt;&lt;BR /&gt;&amp;nbsp; [2]: &lt;A href="https://api.authorize.net/xml/v1/schema/AnetApiSchema.xsd" target="_blank"&gt;https://api.authorize.net/xml/v1/schema/AnetApiSchema.xsd&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 17:58:04 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59786#M34358</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-13T17:58:04Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59789#M34361</link>
      <description>&lt;P&gt;To create a Customer Profile from a Transaction, all you need is the Transaction Id, you don't need to send a CustomerProfileId.&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;createCustomerProfileFromTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
&amp;lt;merchantAuthentication&amp;gt;
&amp;lt;name&amp;gt;YOUR_API_LOGIN&amp;lt;/name&amp;gt;
&amp;lt;transactionKey&amp;gt;YOUR_TRANSACTION_ KEY&amp;lt;/transactionKey&amp;gt;
&amp;lt;/merchantAuthentication&amp;gt;
&amp;lt;transId&amp;gt;TRANSACTION_ID&amp;lt;/transId&amp;gt;
&amp;lt;/createCustomerProfileFromTransactionRequest&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;If you do send a customer profile Id, it should be sent like below:&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;createCustomerProfileFromTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
&amp;lt;merchantAuthentication&amp;gt;
&amp;lt;name&amp;gt;YOUR_API_LOGIN&amp;lt;/name&amp;gt;
&amp;lt;transactionKey&amp;gt;YOUR_TRANSACTION_ KEY&amp;lt;/transactionKey&amp;gt;
&amp;lt;/merchantAuthentication&amp;gt;&lt;BR /&gt;&amp;lt;transId&amp;gt;TRANSACTION_ID&amp;lt;/transId&amp;gt;&lt;BR /&gt;&amp;lt;customerProfileId&amp;gt;CUSTOMER_PROFILE_ID&amp;lt;/customerProfileId&amp;gt;&lt;BR /&gt;&amp;lt;/createCustomerProfileFromTransactionRequest&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Or the JSON version:&lt;/P&gt;&lt;PRE&gt;{
    "createCustomerProfileFromTransactionRequest": {
        "merchantAuthentication": {
            "name": "YOUR_API_LOGIN",
            "transactionKey": "YOUR_TRANSACTION_KEY"
        },
        "transId": "TRANSACION_ID",
          "customerProfileId":"CUSTOMER_PROFILE_ID"
    }
}&lt;/PRE&gt;</description>
      <pubDate>Wed, 13 Sep 2017 19:10:40 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59789#M34361</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-13T19:10:40Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59790#M34362</link>
      <description>&lt;P&gt;So I have to make two calls? Not one to create the profile?&amp;nbsp; Given what the documenation is leading me to believe I can simply send the create customer boolian in transaction and it should return the customer&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 19:14:23 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59790#M34362</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-13T19:14:23Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59792#M34364</link>
      <description>&lt;P&gt;You can create a profile from a transaction in one call by using a createTransactionRequest and specifying createProfile = true like below:&lt;/P&gt;&lt;PRE&gt;&amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;
    &amp;lt;profile&amp;gt;
    &amp;lt;createProfile&amp;gt;true&amp;lt;/createProfile&amp;gt;
    &amp;lt;/profile&amp;gt;
    &amp;lt;order&amp;gt;&lt;/PRE&gt;&lt;P&gt;Or the short JSON:&lt;/P&gt;&lt;PRE&gt;​    "cardCode": "999"&lt;BR /&gt; }&lt;BR /&gt; },&lt;BR /&gt; "profile":{&lt;BR /&gt; "createProfile": true&lt;BR /&gt; },&lt;BR /&gt; "lineItems": {&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 19:35:28 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59792#M34364</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-13T19:35:28Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59793#M34365</link>
      <description>&lt;P&gt;Right, that's what I'm doing in the code and it's not creating the customer,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    # Create customer profile on transaction
    createcustomerprofile = apicontractsv1.customerProfilePaymentType()
    createcustomerprofile.createProfile = True&lt;/PRE&gt;&lt;P&gt;And then later adding it in&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    transactionrequest.profile = createcustomerprofile&lt;/PRE&gt;&lt;P&gt;But it's not creating the profile&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 19:38:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59793#M34365</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-13T19:38:44Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59794#M34366</link>
      <description>Are you able to capture the full JSON or XML that is being posted?</description>
      <pubDate>Wed, 13 Sep 2017 19:41:26 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59794#M34366</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-13T19:41:26Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59796#M34368</link>
      <description>&lt;P&gt;Not sure how I would even go about doing that, since print doesn't work, when I try and import it via extree to parse it also errores out, given that I'm using the &lt;A href="https://github.com/AuthorizeNet/sdk-python" target="_self"&gt;Authorize SDK&lt;/A&gt; I find it rather dificult to even figure out how I could get it to print that response.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 20:21:00 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59796#M34368</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-13T20:21:00Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59801#M34373</link>
      <description>&lt;P&gt;Using the Python SDK, another way would be to create the customer profile and payment profile&amp;nbsp;then charge this new payment profile:&lt;/P&gt;&lt;PRE&gt;from authorizenet import apicontractsv1
from authorizenet.constants import constants
from authorizenet.apicontrollers import *
from decimal import *
import random

# create customer profile
merchantAuth = apicontractsv1.merchantAuthenticationType()
merchantAuth.name = "YOUR_API_LOGIN"
merchantAuth.transactionKey = "YOUR_TRANSACTION_KEY"

createCustomerProfile = apicontractsv1.createCustomerProfileRequest()
createCustomerProfile.merchantAuthentication = merchantAuth
createCustomerProfile.profile = apicontractsv1.customerProfileType('jdoe' + str(random.randint(0, 10000)), 'Jane Doe', 'janedoe@gmail.com')

controller = createCustomerProfileController(createCustomerProfile)
controller.execute()

response = controller.getresponse()

if (response.messages.resultCode=="Ok"):
    print("Successfully created a customer profile with id: %s" % response.customerProfileId)
    customerProfileId = response.customerProfileId
    
    creditCard = apicontractsv1.creditCardType()
    creditCard.cardNumber = "4111111111111111"
    creditCard.expirationDate = "2021-12"

    payment = apicontractsv1.paymentType()
    payment.creditCard = creditCard

    billTo = apicontractsv1.customerAddressType()
    billTo.firstName = "Jane"
    billTo.lastName = "Doe"

    profile = apicontractsv1.customerPaymentProfileType()
    profile.payment = payment
    profile.billTo = billTo

    createCustomerPaymentProfile = apicontractsv1.createCustomerPaymentProfileRequest()
    createCustomerPaymentProfile.merchantAuthentication = merchantAuth
    createCustomerPaymentProfile.paymentProfile = profile
    print("customerProfileId in create_customer_payment_profile. customerProfileId = %s" %customerProfileId)
    createCustomerPaymentProfile.customerProfileId = str(customerProfileId)

    controller = createCustomerPaymentProfileController(createCustomerPaymentProfile)
    controller.execute()

    response = controller.getresponse()

    if (response.messages.resultCode=="Ok"):
        print("Successfully created a customer payment profile with id: %s" % response.customerPaymentProfileId)
        customerPaymentProfileId = response.customerPaymentProfileId
        
        profileToCharge = apicontractsv1.customerProfilePaymentType()
        profileToCharge.customerProfileId = str(customerProfileId)
        profileToCharge.paymentProfile = apicontractsv1.paymentProfile()
        profileToCharge.paymentProfile.paymentProfileId = str(customerPaymentProfileId)

        transactionrequest = apicontractsv1.transactionRequestType()
        transactionrequest.transactionType = "authCaptureTransaction"
        transactionrequest.amount = Decimal ('25.99')
        transactionrequest.profile = profileToCharge


        createtransactionrequest = apicontractsv1.createTransactionRequest()
        createtransactionrequest.merchantAuthentication = merchantAuth
        createtransactionrequest.refId = "RefId-001"

        createtransactionrequest.transactionRequest = transactionrequest
        createtransactioncontroller = createTransactionController(createtransactionrequest)
        createtransactioncontroller.execute()

        response = createtransactioncontroller.getresponse()&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Sep 2017 09:05:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59801#M34373</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-14T09:05:44Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59833#M34404</link>
      <description>&lt;P&gt;Sigh, I understand I could do it this way just don't understand why the documenation shows one thing and yet the functionality does not have this feature.&amp;nbsp; Spent quite a bit of time being aquiented with the sdk trying to set everything up, and the only solution is to add programming debt to the program&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any way that the it could be done with the call set up how my original code shows? Or is it just a feature that was never implimented into the sdk?&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 00:51:22 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59833#M34404</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-15T00:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59836#M34407</link>
      <description>&lt;P&gt;You almost had it with your initial posting. The order of the transactionrequest just needs to be modified a bit. By placing&amp;nbsp;transactionrequest.profile = createcustomerprofile right after&amp;nbsp;transactionrequest.payment = payment:&lt;/P&gt;&lt;PRE&gt;transactionrequest = apicontractsv1.transactionRequestType()
    transactionrequest.transactionType = "authCaptureTransaction"
    transactionrequest.amount = amount
    transactionrequest.payment = payment
    transactionrequest.profile = createcustomerprofile
    transactionrequest.order = order
    transactionrequest.billTo = customerAddress
    transactionrequest.customer = customerData
    transactionrequest.transactionSettings = settings
    transactionrequest.lineItems = line_items&lt;/PRE&gt;&lt;P&gt;By the way, you should be able to see what XML is being posted by looking at the anetsdk.log in the root of your application.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 11:44:03 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59836#M34407</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-15T11:44:03Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59856#M34427</link>
      <description>&lt;P&gt;Ok, I tried changing the order, but it now in the log file it shows&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Customer profile creation failed. This payment method does not support profile creation.&lt;/PRE&gt;</description>
      <pubDate>Fri, 15 Sep 2017 19:46:00 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59856#M34427</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-15T19:46:00Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59857#M34428</link>
      <description>&lt;P&gt;Your log should look like below:&lt;/P&gt;&lt;PRE&gt;2017-09-15 07:47:36,412 performing custom validation..
2017-09-15 07:47:36,413 Executing http post to url: https://apitest.authorize.net/xml/v1/request.api
2017-09-15 07:47:36,413 building request..
2017-09-15 07:47:36,921 Starting new HTTPS connection (1): apitest.authorize.net
2017-09-15 07:47:37,027 building request..
2017-09-15 07:47:37,044 Request is: &amp;lt;?xml version="1.0" ?&amp;gt;
&amp;lt;createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
	&amp;lt;merchantAuthentication&amp;gt;
		&amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
		&amp;lt;transactionKey&amp;gt;&amp;lt;/transactionKey&amp;gt;
	&amp;lt;/merchantAuthentication&amp;gt;
	&amp;lt;clientId&amp;gt;sdk-python-1.0.14&amp;lt;/clientId&amp;gt;
	&amp;lt;refId&amp;gt;MerchantID-0001&amp;lt;/refId&amp;gt;
	&amp;lt;transactionRequest&amp;gt;
		&amp;lt;transactionType&amp;gt;authCaptureTransaction&amp;lt;/transactionType&amp;gt;
		&amp;lt;amount&amp;gt;12.23&amp;lt;/amount&amp;gt;
		&amp;lt;payment&amp;gt;
			&amp;lt;creditCard&amp;gt;
				&amp;lt;cardNumber&amp;gt;4111111111111111&amp;lt;/cardNumber&amp;gt;
				&amp;lt;expirationDate&amp;gt;2020-12&amp;lt;/expirationDate&amp;gt;
				&amp;lt;cardCode&amp;gt;123&amp;lt;/cardCode&amp;gt;
			&amp;lt;/creditCard&amp;gt;
		&amp;lt;/payment&amp;gt;
		&amp;lt;profile&amp;gt;
			&amp;lt;createProfile&amp;gt;true&amp;lt;/createProfile&amp;gt;
		&amp;lt;/profile&amp;gt;
		&amp;lt;order&amp;gt;
			&amp;lt;invoiceNumber&amp;gt;10101&amp;lt;/invoiceNumber&amp;gt;
			&amp;lt;description&amp;gt;Golf Shirts&amp;lt;/description&amp;gt;
		&amp;lt;/order&amp;gt;
		&amp;lt;lineItems&amp;gt;
			&amp;lt;lineItem&amp;gt;
				&amp;lt;itemId&amp;gt;12345&amp;lt;/itemId&amp;gt;
				&amp;lt;name&amp;gt;first&amp;lt;/name&amp;gt;
				&amp;lt;description&amp;gt;Here's the first line item&amp;lt;/description&amp;gt;
				&amp;lt;quantity&amp;gt;2.0&amp;lt;/quantity&amp;gt;
				&amp;lt;unitPrice&amp;gt;12.95&amp;lt;/unitPrice&amp;gt;
			&amp;lt;/lineItem&amp;gt;
			&amp;lt;lineItem&amp;gt;
				&amp;lt;itemId&amp;gt;67890&amp;lt;/itemId&amp;gt;
				&amp;lt;name&amp;gt;second&amp;lt;/name&amp;gt;
				&amp;lt;description&amp;gt;Here's the second line item&amp;lt;/description&amp;gt;
				&amp;lt;quantity&amp;gt;3.0&amp;lt;/quantity&amp;gt;
				&amp;lt;unitPrice&amp;gt;7.95&amp;lt;/unitPrice&amp;gt;
			&amp;lt;/lineItem&amp;gt;
		&amp;lt;/lineItems&amp;gt;
		&amp;lt;customer&amp;gt;
			&amp;lt;type&amp;gt;individual&amp;lt;/type&amp;gt;
			&amp;lt;id&amp;gt;90999456654&amp;lt;/id&amp;gt;
			&amp;lt;email&amp;gt;BubbaJohnson@example.com&amp;lt;/email&amp;gt;
		&amp;lt;/customer&amp;gt;
		&amp;lt;billTo&amp;gt;
			&amp;lt;firstName&amp;gt;Ellen&amp;lt;/firstName&amp;gt;
			&amp;lt;lastName&amp;gt;Johnson&amp;lt;/lastName&amp;gt;
			&amp;lt;company&amp;gt;Souveniropolis&amp;lt;/company&amp;gt;
			&amp;lt;address&amp;gt;14 Main Street&amp;lt;/address&amp;gt;
			&amp;lt;city&amp;gt;Pecan Springs&amp;lt;/city&amp;gt;
			&amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;
			&amp;lt;zip&amp;gt;44628&amp;lt;/zip&amp;gt;
			&amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;
		&amp;lt;/billTo&amp;gt;
		&amp;lt;transactionSettings&amp;gt;
			&amp;lt;setting&amp;gt;
				&amp;lt;settingName&amp;gt;duplicateWindow&amp;lt;/settingName&amp;gt;
				&amp;lt;settingValue&amp;gt;600&amp;lt;/settingValue&amp;gt;
			&amp;lt;/setting&amp;gt;
		&amp;lt;/transactionSettings&amp;gt;
	&amp;lt;/transactionRequest&amp;gt;
&amp;lt;/createTransactionRequest&amp;gt;&lt;/PRE&gt;&lt;P&gt;The Python that created the log above is below:&lt;/P&gt;&lt;PRE&gt;"""
Charge a credit card
"""

import imp
import os
import sys
# print sys.path
from authorizenet import apicontractsv1
from authorizenet.apicontrollers import createTransactionController

CONSTANTS = imp.load_source('modulename', 'constants.py')


def charge_credit_card(amount):
    """
    Charge a credit card
    """

    # Create a merchantAuthenticationType object with authentication details
    # retrieved from the constants file
    merchantAuth = apicontractsv1.merchantAuthenticationType()
    merchantAuth.name = CONSTANTS.apiLoginId
    merchantAuth.transactionKey = CONSTANTS.transactionKey

    # Create the payment data for a credit card
    creditCard = apicontractsv1.creditCardType()
    creditCard.cardNumber = "4111111111111111"
    creditCard.expirationDate = "2020-12"
    creditCard.cardCode = "123"

    # Add the payment data to a paymentType object
    payment = apicontractsv1.paymentType()
    payment.creditCard = creditCard

    # Create order information
    order = apicontractsv1.orderType()
    order.invoiceNumber = "10101"
    order.description = "Golf Shirts"

    # Set the customer's Bill To address
    customerAddress = apicontractsv1.customerAddressType()
    customerAddress.firstName = "Ellen"
    customerAddress.lastName = "Johnson"
    customerAddress.company = "Souveniropolis"
    customerAddress.address = "14 Main Street"
    customerAddress.city = "Pecan Springs"
    customerAddress.state = "TX"
    customerAddress.zip = "44628"
    customerAddress.country = "USA"
    
    # Create customer profile on transaction
    createcustomerprofile = apicontractsv1.customerProfilePaymentType()
    createcustomerprofile.createProfile = True
    
    # Set the customer's identifying information
    customerData = apicontractsv1.customerDataType()
    customerData.type = "individual"
    customerData.id = "90999456654"
    customerData.email = "BubbaJohnson@example.com"

    # Add values for transaction settings
    duplicateWindowSetting = apicontractsv1.settingType()
    duplicateWindowSetting.settingName = "duplicateWindow"
    duplicateWindowSetting.settingValue = "600"
    settings = apicontractsv1.ArrayOfSetting()
    settings.setting.append(duplicateWindowSetting)

    # setup individual line items
    line_item_1 = apicontractsv1.lineItemType()
    line_item_1.itemId = "12345"
    line_item_1.name = "first"
    line_item_1.description = "Here's the first line item"
    line_item_1.quantity = "2"
    line_item_1.unitPrice = "12.95"
    line_item_2 = apicontractsv1.lineItemType()
    line_item_2.itemId = "67890"
    line_item_2.name = "second"
    line_item_2.description = "Here's the second line item"
    line_item_2.quantity = "3"
    line_item_2.unitPrice = "7.95"

    # build the array of line items
    line_items = apicontractsv1.ArrayOfLineItem()
    line_items.lineItem.append(line_item_1)
    line_items.lineItem.append(line_item_2)

    # Create a transactionRequestType object and add the previous objects to it.
    transactionrequest = apicontractsv1.transactionRequestType()
    transactionrequest.transactionType = "authCaptureTransaction"
    transactionrequest.amount = amount
    transactionrequest.payment = payment
    transactionrequest.profile = createcustomerprofile
    transactionrequest.order = order
    transactionrequest.billTo = customerAddress
    transactionrequest.customer = customerData
    transactionrequest.transactionSettings = settings
    transactionrequest.lineItems = line_items


    # Assemble the complete transaction request
    createtransactionrequest = apicontractsv1.createTransactionRequest()
    createtransactionrequest.merchantAuthentication = merchantAuth
    createtransactionrequest.refId = "MerchantID-0001"
    createtransactionrequest.transactionRequest = transactionrequest
    createtransactionrequest.profile = "createProfile"
    # Create the controller
    createtransactioncontroller = createTransactionController(
        createtransactionrequest)
    createtransactioncontroller.execute()

    response = createtransactioncontroller.getresponse()
    print response
   
    if response is not None:
        print response
        # Check to see if the API request was successfully received and acted upon
        if response.messages.resultCode == "Ok":
            # Since the API request was successful, look for a transaction response
            # and parse it to display the results of authorizing the card
            if hasattr(response.transactionResponse, 'messages') is True:
                print(
                    'Successfully created transaction with Transaction ID: %s'
                    % response.transactionResponse.transId)
                print('Transaction Response Code: %s' %
                      response.transactionResponse.responseCode)
                print('Message Code: %s' %
                      response.transactionResponse.messages.message[0].code)
                print('Description: %s' % response.transactionResponse.
                      messages.message[0].description)
            else:
                print('Failed Transaction.')
                if hasattr(response.transactionResponse, 'errors') is True:
                    print('Error Code:  %s' % str(response.transactionResponse.
                                                  errors.error[0].errorCode))
                    print(
                        'Error message: %s' %
                        response.transactionResponse.errors.error[0].errorText)
        # Or, print errors if the API request wasn't successful
        else:
            print('Failed Transaction.')
            if hasattr(response, 'transactionResponse') is True and hasattr(
                    response.transactionResponse, 'errors') is True:
                print('Error Code: %s' % str(
                    response.transactionResponse.errors.error[0].errorCode))
                print('Error message: %s' %
                      response.transactionResponse.errors.error[0].errorText)
            else:
                print('Error Code: %s' %
                      response.messages.message[0]['code'].text)
                print('Error message: %s' %
                      response.messages.message[0]['text'].text)
    else:
        print('Null Response.')

    return response


if (os.path.basename(__file__) == os.path.basename(sys.argv[0])):
    charge_credit_card(CONSTANTS.amount)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 19:53:54 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59857#M34428</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-15T19:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59860#M34431</link>
      <description>&lt;P&gt;Not sure if it's because I'm using the payment nooce, but my log file does not show the request, only the response&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;2017-09-15 13:58:27,152 performing custom validation..&lt;BR /&gt;2017-09-15 13:58:27,152 Executing http post to url: https://apitest.authorize.net/xml/v1/request.api&lt;BR /&gt;2017-09-15 13:58:27,152 building request..&lt;BR /&gt;2017-09-15 13:58:27,159 Starting new HTTPS connection (1): apitest.authorize.net&lt;BR /&gt;2017-09-15 13:58:30,192 "POST /xml/v1/request.api HTTP/1.1" 200 1138&lt;BR /&gt;2017-09-15 13:58:30,206 Multiple accepting paths for &amp;lt;class 'authorizenet.apicontractsv1.CTD_ANON_10'&amp;gt;&lt;BR /&gt;2017-09-15 13:58:30,206 Multiple accepting paths for &amp;lt;class 'authorizenet.apicontractsv1.CTD_ANON_9'&amp;gt;&lt;BR /&gt;2017-09-15 13:58:30,214 Multiple accepting paths for {AnetApi/xml/v1/schema/AnetApiSchema.xsd}transactionResponse&lt;BR /&gt;2017-09-15 13:58:30,216 Multiple accepting paths for &amp;lt;class 'authorizenet.apicontractsv1.CTD_ANON_73'&amp;gt;&lt;BR /&gt;2017-09-15 13:58:30,223 Received response: &amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;BR /&gt;&amp;lt;createTransactionResponse xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&lt;BR /&gt;   &amp;lt;refId&amp;gt;ref 1505509107.15&amp;lt;/refId&amp;gt;&lt;BR /&gt;   &amp;lt;messages&amp;gt;&lt;BR /&gt;      &amp;lt;resultCode&amp;gt;Ok&amp;lt;/resultCode&amp;gt;&lt;BR /&gt;      &amp;lt;message&amp;gt;&lt;BR /&gt;         &amp;lt;code&amp;gt;I00001&amp;lt;/code&amp;gt;&lt;BR /&gt;         &amp;lt;text&amp;gt;Successful.&amp;lt;/text&amp;gt;&lt;BR /&gt;      &amp;lt;/message&amp;gt;&lt;BR /&gt;   &amp;lt;/messages&amp;gt;&lt;BR /&gt;   &amp;lt;transactionResponse&amp;gt;&lt;BR /&gt;      &amp;lt;responseCode&amp;gt;1&amp;lt;/responseCode&amp;gt;&lt;BR /&gt;      &amp;lt;authCode&amp;gt;D3ZWDA&amp;lt;/authCode&amp;gt;&lt;BR /&gt;      &amp;lt;avsResultCode&amp;gt;Y&amp;lt;/avsResultCode&amp;gt;&lt;BR /&gt;      &amp;lt;cvvResultCode&amp;gt;P&amp;lt;/cvvResultCode&amp;gt;&lt;BR /&gt;      &amp;lt;cavvResultCode&amp;gt;2&amp;lt;/cavvResultCode&amp;gt;&lt;BR /&gt;      &amp;lt;transId&amp;gt;40007132129&amp;lt;/transId&amp;gt;&lt;BR /&gt;      &amp;lt;refTransID/&amp;gt;&lt;BR /&gt;      &amp;lt;transHash&amp;gt;4AA30C7C2091E9DDF6E8516503EE8D5E&amp;lt;/transHash&amp;gt;&lt;BR /&gt;      &amp;lt;testRequest&amp;gt;0&amp;lt;/testRequest&amp;gt;&lt;BR /&gt;      &amp;lt;accountNumber&amp;gt;XXXX4242&amp;lt;/accountNumber&amp;gt;&lt;BR /&gt;      &amp;lt;accountType&amp;gt;Visa&amp;lt;/accountType&amp;gt;&lt;BR /&gt;      &amp;lt;messages&amp;gt;&lt;BR /&gt;         &amp;lt;message&amp;gt;&lt;BR /&gt;            &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;BR /&gt;            &amp;lt;description&amp;gt;This transaction has been approved.&amp;lt;/description&amp;gt;&lt;BR /&gt;         &amp;lt;/message&amp;gt;&lt;BR /&gt;      &amp;lt;/messages&amp;gt;&lt;BR /&gt;      &amp;lt;transHashSha2/&amp;gt;&lt;BR /&gt;   &amp;lt;/transactionResponse&amp;gt;&lt;BR /&gt;   &amp;lt;profileResponse&amp;gt;&lt;BR /&gt;      &amp;lt;messages&amp;gt;&lt;BR /&gt;         &amp;lt;resultCode&amp;gt;Error&amp;lt;/resultCode&amp;gt;&lt;BR /&gt;         &amp;lt;message&amp;gt;&lt;BR /&gt;            &amp;lt;code&amp;gt;E00103&amp;lt;/code&amp;gt;&lt;BR /&gt;            &amp;lt;text&amp;gt;Customer profile creation failed. This payment method does not support profile creation.&amp;lt;/text&amp;gt;&lt;BR /&gt;         &amp;lt;/message&amp;gt;&lt;BR /&gt;      &amp;lt;/messages&amp;gt;&lt;BR /&gt;   &amp;lt;/profileResponse&amp;gt;&lt;BR /&gt;&amp;lt;/createTransactionResponse&amp;gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 15 Sep 2017 20:59:45 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59860#M34431</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-15T20:59:45Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59861#M34432</link>
      <description>&lt;P&gt;This is the code I'm using, in the order as you suggested&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;# Create a merchantAuthenticationType object with authentication details&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;# retrieved from the constants file&lt;BR /&gt;&lt;/SPAN&gt;merchantAuth = apicontractsv1.merchantAuthenticationType()&lt;BR /&gt;merchantAuth.name = app_config.AUTHORIZE_KEYS[&lt;SPAN&gt;'apiLoginId'&lt;/SPAN&gt;]&lt;BR /&gt;merchantAuth.transactionKey = app_config.AUTHORIZE_KEYS[&lt;SPAN&gt;'transactionKey'&lt;/SPAN&gt;]&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Create the payment object for a payment nonce&lt;BR /&gt;&lt;/SPAN&gt;opaqueData = apicontractsv1.opaqueDataType()&lt;BR /&gt;opaqueData.dataDescriptor = request.form[&lt;SPAN&gt;'dataDesc'&lt;/SPAN&gt;]&lt;BR /&gt;opaqueData.dataValue = request.form[&lt;SPAN&gt;'dataValue'&lt;/SPAN&gt;]&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Add the payment data to a paymentType object&lt;BR /&gt;&lt;/SPAN&gt;paymentOne = apicontractsv1.paymentType()&lt;BR /&gt;paymentOne.opaqueData = opaqueData&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Create order information&lt;BR /&gt;&lt;/SPAN&gt;order = apicontractsv1.orderType()&lt;BR /&gt;order.invoiceNumber = &lt;SPAN&gt;"invoice_%s_%s" &lt;/SPAN&gt;% (randint(&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;100&lt;/SPAN&gt;)&lt;SPAN&gt;, &lt;/SPAN&gt;user.id)&lt;BR /&gt;order.description = &lt;SPAN&gt;"The thing you upgraded"&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;# # Set the customer's Bill To address&lt;BR /&gt;&lt;/SPAN&gt;customerAddress = apicontractsv1.customerAddressType()&lt;BR /&gt;customerAddress.firstName = request.form[&lt;SPAN&gt;'firstName'&lt;/SPAN&gt;]&lt;BR /&gt;customerAddress.lastName = request.form[&lt;SPAN&gt;'lastName'&lt;/SPAN&gt;]&lt;BR /&gt;customerAddress.address = address1&lt;BR /&gt;customerAddress.city = city&lt;BR /&gt;customerAddress.state = state&lt;BR /&gt;customerAddress.zip = zipcode&lt;BR /&gt;customerAddress.country = country&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Set the customer's identifying information&lt;BR /&gt;&lt;/SPAN&gt;customerData = apicontractsv1.customerDataType()&lt;BR /&gt;customerData.type = &lt;SPAN&gt;"individual"&lt;BR /&gt;&lt;/SPAN&gt;customerData.id = &lt;SPAN&gt;"cus_%s" &lt;/SPAN&gt;% user.id&lt;BR /&gt;customerData.email = email&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Add values for transaction settings&lt;BR /&gt;&lt;/SPAN&gt;duplicateWindowSetting = apicontractsv1.settingType()&lt;BR /&gt;duplicateWindowSetting.settingName = &lt;SPAN&gt;"duplicateWindow"&lt;BR /&gt;&lt;/SPAN&gt;duplicateWindowSetting.settingValue = &lt;SPAN&gt;"600"&lt;BR /&gt;&lt;/SPAN&gt;settings = apicontractsv1.ArrayOfSetting()&lt;BR /&gt;settings.setting.append(duplicateWindowSetting)&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Create customer profile on transaction&lt;BR /&gt;&lt;/SPAN&gt;createcustomerprofile = apicontractsv1.customerProfilePaymentType()&lt;BR /&gt;createcustomerprofile.createProfile = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;# Create a transactionRequestType object and add the previous objects to it.&lt;BR /&gt;&lt;/SPAN&gt;transactionrequest = apicontractsv1.transactionRequestType()&lt;BR /&gt;transactionrequest.transactionType = &lt;SPAN&gt;"authCaptureTransaction"&lt;BR /&gt;&lt;/SPAN&gt;transactionrequest.amount = amount&lt;BR /&gt;transactionrequest.payment = paymentOne&lt;BR /&gt;transactionrequest.profile = createcustomerprofile&lt;BR /&gt;transactionrequest.order = order&lt;BR /&gt;transactionrequest.billTo = customerAddress&lt;BR /&gt;transactionrequest.customer = customerData&lt;BR /&gt;transactionrequest.transactionSettings = settings&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Assemble the complete transaction request&lt;BR /&gt;&lt;/SPAN&gt;createtransactionrequest = apicontractsv1.createTransactionRequest()&lt;BR /&gt;createtransactionrequest.merchantAuthentication = merchantAuth&lt;BR /&gt;createtransactionrequest.refId = refId&lt;BR /&gt;createtransactionrequest.transactionRequest = transactionrequest&lt;BR /&gt;createtransactionrequest.profile = &lt;SPAN&gt;"createProfile"&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;# Create the controller&lt;BR /&gt;&lt;/SPAN&gt;createtransactioncontroller = createTransactionController(createtransactionrequest)&lt;BR /&gt;createtransactioncontroller.setenvironment(app_config.AUTH_NET_ENVIRONMENT)&lt;BR /&gt;createtransactioncontroller.execute()&lt;BR /&gt;&lt;BR /&gt;response = createtransactioncontroller.getresponse()&lt;/PRE&gt;</description>
      <pubDate>Fri, 15 Sep 2017 21:21:37 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59861#M34432</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-15T21:21:37Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59862#M34433</link>
      <description>&lt;P&gt;It is because you are using opaqueData, this payment method does not support profile creation.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 22:03:19 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59862#M34433</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-09-15T22:03:19Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59863#M34434</link>
      <description>&lt;P&gt;So in order to use this functionality you have to run the credit card through your server? What's the point of accept.js then?&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 22:18:09 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59863#M34434</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-15T22:18:09Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59864#M34435</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22168"&gt;@nadermx&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using a nonce from Accept.js to create a transaction and a profile at the same time is not currently supported, but is something we plan to fix in a future release.&amp;nbsp; You can create a customer profile with the nonce and then perform a transaction using the customer profile.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Richard&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 23:10:46 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59864#M34435</guid>
      <dc:creator>RichardH</dc:creator>
      <dc:date>2017-09-15T23:10:46Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59866#M34437</link>
      <description>&lt;P&gt;Is there a ETA to this? I'll do a workaround till it's resolved.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 23:30:50 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59866#M34437</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-15T23:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59867#M34438</link>
      <description>&lt;P&gt;Also, it seems there is another issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I try and make a customer by sending the credit card information instead of the noonce and then within the same function try and make a ARB off that customer profile, it does not register, tells me that&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;ARBCreateSubscriptionResponse xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&lt;BR /&gt;   &amp;lt;messages&amp;gt;&lt;BR /&gt;      &amp;lt;resultCode&amp;gt;Error&amp;lt;/resultCode&amp;gt;&lt;BR /&gt;      &amp;lt;message&amp;gt;&lt;BR /&gt;         &amp;lt;code&amp;gt;E00040&amp;lt;/code&amp;gt;&lt;BR /&gt;         &amp;lt;text&amp;gt;The record cannot be found.&amp;lt;/text&amp;gt;&lt;BR /&gt;      &amp;lt;/message&amp;gt;&lt;BR /&gt;   &amp;lt;/messages&amp;gt;&lt;BR /&gt;&amp;lt;/ARBCreateSubscriptionResponse&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So is there a delay between when a customer is created before you can send another request to create the ARB?&amp;nbsp; Since clearly it does make the profile, I can see it in the CIM, as well as the payment profile.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do I have to set this up as a seperate function that runs a cron a day later or something since it appears, as I had suspected earlier, that trying to run 2 calls within one function with your SDK makes it so nothing works.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Sep 2017 00:24:00 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59867#M34438</guid>
      <dc:creator>nadermx</dc:creator>
      <dc:date>2017-09-16T00:24:00Z</dc:date>
    </item>
    <item>
      <title>Re: Make customer profile when charging card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59868#M34439</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22168"&gt;@nadermx&lt;/a&gt;&amp;nbsp;Creating a customer profile is done in realtime, but follow-on transactions to use a customer profile use replicated date for performance reasons.&amp;nbsp; You may experience some delay in the sandbox but should perform much faster in production.&amp;nbsp; If you get an E00040 when trying to create a transaction from a newly created customer profile, you can simply wait a few seconds and try again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Our product team is aware of this issue and are working on improving performance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Richard&lt;/P&gt;</description>
      <pubDate>Sat, 16 Sep 2017 00:43:42 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Make-customer-profile-when-charging-card/m-p/59868#M34439</guid>
      <dc:creator>RichardH</dc:creator>
      <dc:date>2017-09-16T00:43:42Z</dc:date>
    </item>
  </channel>
</rss>

