Reply
Highlighted
Member
Posts: 2
Registered: ‎09-04-2018

Search Tokenized Customer Payment Profile in Customer Information Manager in Sandbox

 

  1. We send create customer profile request as per documentation
  2. We get a successful createCustomerProfileResponse where code start with “I” and we get
    1. customerProfileId (e.g. 1505165730 was created on 09/04/2018)
    2. customerPaymentProfileIdList
  3. When we do a Get Customer Profile
    1. We get valid customer
    2. We can use to use the profile to make payment
  4. Now when I login to Customer Information Manager in Sandbox to review the Profile, I don’t see any results (no result with or without filtering)
  5. Our question is:
    1. Is this the right place to review the request?
    2. We are can’t also find the transaction log using the customer profile, can you help us locate that log
    3. When I use “Add Profile” and create a dummy profile I see the profile, so is this different from customer profile used creating workflow
Highlighted
Authorize.Net Expert
Posts: 21
Registered: ‎12-06-2017

Re: Search Tokenized Customer Payment Profile in Customer Information Manager in Sandbox

Hi @mohammedjasam, I am unable to reproduce this issue. I created a profile, used it for a transaction and am able to see both

  • the profile in Customer Information Manager after logging into the sandbox

profile.PNG

  • the associated transaction after clicking on "view history".

history.PNG

 

Can you try again or provide us more details?

Highlighted
Member
Posts: 2
Registered: ‎09-04-2018

Re: Search Tokenized Customer Payment Profile in Customer Information Manager in Sandbox

[ Edited ]

Hi @gmokhasi, I'm sending a request for customer profile creation from the following code.

 

      strJSON = JsonConvert.SerializeObject(aobjRequest)
      ValidateStandardPaymentConfiguration(aobjRequest)

      strMarketType = aobjRequest.Configuration.GetStringValue("MarketType")

      ApiOperationBase(Of ANetApiRequest, ANetApiResponse).RunEnvironment = GetEnvironment(aobjRequest)

      ApiOperationBase(Of ANetApiRequest, ANetApiResponse).MerchantAuthentication = New merchantAuthenticationType() With
      {
        .name = aobjRequest.Merchant.ID,
        .ItemElementName = ItemChoiceType.transactionKey,
        .Item = aobjRequest.Merchant.Password
      }

      objCC.cardNumber = aobjRequest.Customer.CreditCard.Number
      objCC.expirationDate = aobjRequest.Customer.CreditCard.ExpirationMonth + aobjRequest.Customer.CreditCard.ExpirationYear

      If aobjRequest.Customer.CreditCard.SecurityCode.IsNullOrEmptyOrBlankSpace Then
      Else
        objCC.cardCode = aobjRequest.Customer.CreditCard.SecurityCode
      End If

      objBillingInfo.firstName = aobjRequest.Customer.FirstName
      objBillingInfo.lastName = aobjRequest.Customer.LastName
      objBillingInfo.address = aobjRequest.Customer.BillingAddress.Line1
      objBillingInfo.city = aobjRequest.Customer.BillingAddress.City
      objBillingInfo.zip = aobjRequest.Customer.BillingAddress.Zip
      objBillingInfo.state = aobjRequest.Customer.BillingAddress.State
      objBillingInfo.country = aobjRequest.Customer.BillingAddress.Country

      objPaymentType.Item = objCC

      objPaymentProfile.payment = objPaymentType
      objPaymentProfile.billTo = objBillingInfo
      Dim objPaymentProfiles() As customerPaymentProfileType = {objPaymentProfile}
      Dim objShipToList() As customerAddressType = {objBillingInfo}

      objCustomerProfile.merchantCustomerId = aobjRequest.Merchant.ReferenceNumber
      objCustomerProfile.paymentProfiles = objPaymentProfiles.ToArray()
      objCustomerProfile.shipToList = objShipToList.ToArray()

      If aobjRequest.Customer.Email.IsNullOrEmptyOrBlankSpace Then
        objCustomerProfile.email = "noreply@dummy.com"
      Else
        objCustomerProfile.email = aobjRequest.Customer.Email
      End If

      objRequest.profile = objCustomerProfile
      objRequest.validationMode = validationModeEnum.liveMode

      Dim objController As New createCustomerProfileController(objRequest)
      objController.Execute()

      objCreateBillingProfileResponse = objController.GetApiResponse()

      If objCreateBillingProfileResponse.IsConstructed AndAlso
        objCreateBillingProfileResponse.messages.resultCode = messageTypeEnum.Ok AndAlso
        objCreateBillingProfileResponse.messages.message.ToString().IsNotNullOrEmpty Then
        If objCreateBillingProfileResponse.messages.message(0).text = "Successful." AndAlso
          objCreateBillingProfileResponse.messages.message(0).code.StartsWith("I") Then
          objResponse.ReturnCode = USIPaymentResult.Success
          objResponse.Message = objCreateBillingProfileResponse.messages.message(0).text
          objResponse.PayerInfo.CustomerProfileID = objCreateBillingProfileResponse.customerProfileId
          objResponse.PayerInfo.BillingProfileID = objCreateBillingProfileResponse.customerPaymentProfileIdList(0)
        End If
      Else
        If objCreateBillingProfileResponse.IsConstructed AndAlso
             objCreateBillingProfileResponse.messages.message(0).code.StartsWith("E") Then
          objResponse.ReturnCode = USIPaymentResult.Failed
          objResponse.Message = objCreateBillingProfileResponse.messages.message(0).text
        Else
          objResponse.ReturnCode = USIPaymentResult.Failed
          objResponse.Message = USIHttpGlobals.CommonPhraseDictionary.LookupMessage(USIConstants.BasePhrases.NoResponseFromTheGateway)
        End If
      End If

 

Please let me know if I'm missing anything that's not letting me view the successfully created profiles on the sandbox.authorize.net CIM. 

Thank you for your help!