Skip to main content

Notifications

Announcements

No record found.

Dynamics 365 Community / Forums / Finance forum / Credit card authorizat...
Finance forum
Answered

Credit card authorization and payment processing

Posted on by 415

Hi,

I have a requirement to Authorize credit card and Process payment. For authorization and payments we need to use Authorize.Net API. 

we tried to store credit card information in D365. But while getting only last 4 digit is coming. we need to send full credit card number to Authorize.net API library. How to achieve.

Regards,

Manivannan

  • Suggested answer
    RE: Credit card authorization and payment processing

    Hi Neha,

    What are the list of properties that you are referring to exactly? You can have a webhook attached on the Adyen portal to see the response JSON for every transaction made by using it in a logic app or where ever feasible. If you are referring to the properties in the CardTokenResponse XML, you would be able to see them all in the JSON.

    If the link with the sales order was broken, you should not have been able to find this transaction in the credit card history using the SalesId. Please see that there are two fields in this table, one is OrigSalesId and one is SalesId. There is an OOTB filter applied on this form on these fields as well which might help you understand the link of the transaction with the order.

    Lastly, the missing thing in your screenshot is the the payment service reference in your transaction. This would be an issue while capturing the payment but this can be due to multiple reasons. Please check if you have any customization done to find the payment processor. Else, you can always debug and back track where things went wrong as this would be a very easy approach in your scenario.

    -MON

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Credit card authorization and payment processing

    Hello Muhammad Ozair Naeem,

    How can we get the exhaustive list of properties for Adyen connector?

    Issue we are facing - we are using 3rd party ecommerce in v20 and payment details are captured via XML authorization token. This is working fine in UAT and Prod. However, when we are trying to test with new feature of Incremental Capture the Payment Service is not getting identified. i.e. entry is recorded in CreditCardAuthTrans but the link with Sales order is broken

    pastedimage1641309031101v1.png

  • Suggested answer
    RE: Credit card authorization and payment processing

    Hi Manivannan,

    Yes, I agree with Christine. Even if you do manage to setup your own payment connector, it would be very hard to keep it updated. Recently the newer version of Adyen Payment connector was launched and even having the option of Adyen from Microsoft, we had to work out and fix many issues that we faced with that update. So not only would you be handling the updates from D365 but also you would have to handle the updates from your own payment service provider.

    -MON

  • 3Dmerchant Profile Picture
    3Dmerchant 295 on at
    RE: Credit card authorization and payment processing

    Yes, it's possible. Based on your questions, and as a credit card processing expert, I would not recommend creating your own connector. There's a ton of work to create and debug, and then you'd have to continually maintain it with all the D365 updates.

    If you must use authorize.net, I'd continue looking for someone that has already created it. There are more connectors available than listed here docs.microsoft.com/.../payment-methods.  I'm curious about the specification for authorize.net as more modern gateways are replacing it. Is this for D365 retail or F&O?

  • vannamani77 Profile Picture
    vannamani77 415 on at
    RE: Credit card authorization and payment processing

    Hi Christine,

    In D365 I saw Payment connectors for PayPal, Adyen. Is it possible to write own connectors for Authorize.Net. How feasible is this.

    Regards,

    Manivannan

  • Verified answer
    3Dmerchant Profile Picture
    3Dmerchant 295 on at
    RE: Credit card authorization and payment processing

    As per Muhammad Ozair Naeem, D365 is never going to get the full credit card #. With any API, only the payment gateway touches the card data, gets the auth, then returns the last 4, card type (Visa, MC), auth code, etc to D365. If storing the card, see authorize.net "customer profiles" to return an alpha-numeric token to D365. The token is sent with future authorization requests. Bringing cardholder data into any ERP is a thing of the past.

    ALERT: authorize.net only supports card-on-file (COF) transaction processing for merchants on First Data Nashville. What does this mean? The merchant will not be compliant with authorization rules (effective October 14, 2017) using stored card on file for any other acquirers/processors. developer.authorize.net/.../card-on-file.html

  • Verified answer
    RE: Credit card authorization and payment processing

    No. As I mentioned previously, the card number is never stored in AX or in the card token XML. I have given below a sample card token XML, the properties may vary from one connector to another.

    
      
        MerchantAccount
        ServiceAccountId
        String
        Your service account id comes here for the selected merchant account
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        20
      
      
        Connector
        ConnectorName
        String
        Your connector names comes here
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        CardType
        String
        Visa
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        PaymentMethod
        String
        visa
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        CardToken
        String
        7777247777407777
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        Last4Digits
        String
        1111
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        UniqueCardId
        String
        aaaa5b3a9f704e8f9ff903d37a6aaaaa
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        ExpirationYear
        Decimal
        2030
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        ExpirationMonth
        Decimal
        3
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        Name
        String
        Bruce Wayne
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        BankIdentificationNumberStart
        String
        411111
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        House
        String
        ZZ
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        StreetAddress
        String
        ZZ
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        City
        String
        ZZ
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        State
        String
        ZZ
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        PostalCode
        String
        54000
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
      
        PaymentCard
        Country
        String
        PK
        0
        0001-01-01T00:00:00
        None
        false
        false
        false
        false
        1
        0
      
    

    As you can see, there are some properties in the card token XML from which we can get the desired information, but that information is stored at your payment connectors server side. 

    You need to go through the documentation of the payment connector again and see what you're missing out. You can never find the card number in the OOTB process.

  • vannamani77 Profile Picture
    vannamani77 415 on at
    RE: Credit card authorization and payment processing

    Do you mean the credit card number is stored in card token. If yes how to decrypt back to get the card number.

  • Suggested answer
    RE: Credit card authorization and payment processing

    Hi Manivannan,

    Due to security reasons, the card number is never stored completely. Only the last 4 digits can be seen however, when a card is created, a card token is also created which usually contains the information of Payment connector like the connector name and the merchant account and other card information like the unique card ID, expiry, address and etc. Your payment connector/API should be called while creating a new card so that the information of the payment connector can be stored in the card token and then later used in the API for authorization or finalization processes.

    Some more information regarding the payment connector might be more helpful.

    -MON

Helpful resources

Quick Links

Replay now available! Dynamics 365 Community Call (CRM Edition)

Catch up on the first D365 Community Call held on 7/10

Community Spotlight of the Month

Kudos to Saurav Dhyani!

Congratulations to the June Top 10 community leaders!

These stars go above and beyond . . .

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 287,696 Super User

#2
Martin Dráb Profile Picture

Martin Dráb 225,490 Super User

#3
nmaenpaa Profile Picture

nmaenpaa 101,148

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans