Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ApplePay attempt: Unable to decrypt data. #209

Closed
mboyersgwg opened this issue Mar 20, 2023 · 2 comments
Closed

ApplePay attempt: Unable to decrypt data. #209

mboyersgwg opened this issue Mar 20, 2023 · 2 comments

Comments

@mboyersgwg
Copy link

mboyersgwg commented Mar 20, 2023

I work on an application that supports multiple merchants. For one of them, I am getting the following error when trying to process an ApplePay transaction:

There was an error processing the payment data. Unable to decrypt data.

Here is an example of the payload I'm sending:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
    <merchantAuthentication>
        <name>XXXREMOVEDXXX</name>
        <transactionKey>XXXREMOVEDXXX</transactionKey>
    </merchantAuthentication>
    <clientId>sdk-java-2.0.3</clientId>
    <transactionRequest>
        <transactionType>authCaptureTransaction</transactionType>
        <payment>
            <opaqueData>
                <dataDescriptor>COMMON.APPLE.INAPP.PAYMENT</dataDescriptor>
                <dataValue>eyJkYXRhIjoiYXhTZnVqTEpPOTYrRTB6aFUrRkI4MWxoWXdPVjJMd3VOS2tWTjd6ZVRDaVpEQVdNTTBObW81S3JMZC9PMW5JU3VhWG5KS0ZkbVJyRmh0U1d3S2NVb1NlVFVYSE9EalBRRWMzc29OVURaNmtyZ2g5YVN1akRwbmp1Vkh1M3lkQ0hyTGhmMUs0azEvcHZ3MEVDcjd4dlp1L0dvdWg0Z0VZYjNHSFZSV2VwbVVrU0M1OWJ0bjNGQWRFeUkwRGVEaG9PSlNMVVhaTEZjU1JqcVlGMnJPcjlveC9TUmRsd2xBZ1RicmZ6UldEV1BKM24vc29tUExrM05aNHAyZzJjRGJUdjk4VVlDUnFHZ0NjNVhSb3RhS29uc3VKSlBvak1IZUVGQXhNbHJldWRELzN4dnJYSVorTUVqZk10OG1SRHdlS01qUGo4a0hiNkx5eUkwOUtKWWpHU25PUUNvclVKeGJmTWNPYVl4LzFKdlVTS0JzQ2FGK3Mvd3VyS3pyUVZ1alFQOWRwVzZQVkhhUU1UQWN3L2p4dEVvQUFvYnlQamtVYTdoazl1VUx3Q01nPT0iLCJzaWduYXR1cmUiOiJNSUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4RFRBTEJnbGdoa2dCWlFNRUFnRXdnQVlKS29aSWh2Y05BUWNCQUFDZ2dEQ0NBK013Z2dPSW9BTUNBUUlDQ0V3d1FVbFJuVlEyTUFvR0NDcUdTTTQ5QkFNQ01Ib3hMakFzQmdOVkJBTU1KVUZ3Y0d4bElFRndjR3hwWTJGMGFXOXVJRWx1ZEdWbmNtRjBhVzl1SUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHhPVEExTVRnd01UTXlOVGRhRncweU5EQTFNVFl3TVRNeU5UZGFNRjh4SlRBakJnTlZCQU1NSEdWall5MXpiWEF0WW5KdmEyVnlMWE5wWjI1ZlZVTTBMVkJTVDBReEZEQVNCZ05WQkFzTUMybFBVeUJUZVhOMFpXMXpNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJNSVZkKzNyMXNleUlZOW8zWENRb1NHTng3QzlieXdvUFlSZ2xkbEs5S1ZCRzROQ0R0Z1I4MEIrZ3pNZkhGVEQ5K3N5SU5hNjFkVHY5SktKaVQ1OER4T2pnZ0lSTUlJQ0RUQU1CZ05WSFJNQkFmOEVBakFBTUI4R0ExVWRJd1FZTUJhQUZDUHlTY1JQaytUdkorYkU5aWhzUDZLNy9TNUxNRVVHQ0NzR0FRVUZCd0VCQkRrd056QTFCZ2dyQmdFRkJRY3dBWVlwYUhSMGNEb3ZMMjlqYzNBdVlYQndiR1V1WTI5dEwyOWpjM0F3TkMxaGNIQnNaV0ZwWTJFek1ESXdnZ0VkQmdOVkhTQUVnZ0VVTUlJQkVEQ0NBUXdHQ1NxR1NJYjNZMlFGQVRDQi9qQ0J3d1lJS3dZQkJRVUhBZ0l3Z2JZTWdiTlNaV3hwWVc1alpTQnZiaUIwYUdseklHTmxjblJwWm1sallYUmxJR0o1SUdGdWVTQndZWEowZVNCaGMzTjFiV1Z6SUdGalkyVndkR0Z1WTJVZ2IyWWdkR2hsSUhSb1pXNGdZWEJ3YkdsallXSnNaU0J6ZEdGdVpHRnlaQ0IwWlhKdGN5QmhibVFnWTI5dVpHbDBhVzl1Y3lCdlppQjFjMlVzSUdObGNuUnBabWxqWVhSbElIQnZiR2xqZVNCaGJtUWdZMlZ5ZEdsbWFXTmhkR2x2YmlCd2NtRmpkR2xqWlNCemRHRjBaVzFsYm5SekxqQTJCZ2dyQmdFRkJRY0NBUllxYUhSMGNEb3ZMM2QzZHk1aGNIQnNaUzVqYjIwdlkyVnlkR2xtYVdOaGRHVmhkWFJvYjNKcGRIa3ZNRFFHQTFVZEh3UXRNQ3N3S2FBbm9DV0dJMmgwZEhBNkx5OWpjbXd1WVhCd2JHVXVZMjl0TDJGd2NHeGxZV2xqWVRNdVkzSnNNQjBHQTFVZERnUVdCQlNVVjl0djFYU0Job21KZGk5K1Y0VUg1NXRZSkRBT0JnTlZIUThCQWY4RUJBTUNCNEF3RHdZSktvWklodmRqWkFZZEJBSUZBREFLQmdncWhrak9QUVFEQWdOSkFEQkdBaUVBdmdsWEgrY2VIbk5iVmVXdnJMVEhMK3RFWHpBWVVpTEhKUkFDdGg2OWIxVUNJUURSaXpVS1hkYmRickYwWURXeEhyTE9oOCtqNXE5c3ZZT0FpUTNJTE4ycVl6Q0NBdTR3Z2dKMW9BTUNBUUlDQ0VsdEw3ODZtTnFYTUFvR0NDcUdTTTQ5QkFNQ01HY3hHekFaQmdOVkJBTU1Fa0Z3Y0d4bElGSnZiM1FnUTBFZ0xTQkhNekVtTUNRR0ExVUVDd3dkUVhCd2JHVWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhreEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUI0WERURTBNRFV3TmpJek5EWXpNRm9YRFRJNU1EVXdOakl6TkRZek1Gb3dlakV1TUN3R0ExVUVBd3dsUVhCd2JHVWdRWEJ3YkdsallYUnBiMjRnU1c1MFpXZHlZWFJwYjI0Z1EwRWdMU0JITXpFbU1DUUdBMVVFQ3d3ZFFYQndiR1VnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3hFekFSQmdOVkJBb01Da0Z3Y0d4bElFbHVZeTR4Q3pBSkJnTlZCQVlUQWxWVE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRThCY1JoQm5YWklYVkdsNGxnUWQyNklDaTc5NTdyazNnamZ4TGsrRXpWdFZtV3pXdUl0Q1hkZzBpVG51NkNQMTJGODZJeTNhN1puQyt5T2dwaFA5VVJhT0I5ekNCOURCR0JnZ3JCZ0VGQlFjQkFRUTZNRGd3TmdZSUt3WUJCUVVITUFHR0ttaDBkSEE2THk5dlkzTndMbUZ3Y0d4bExtTnZiUzl2WTNOd01EUXRZWEJ3YkdWeWIyOTBZMkZuTXpBZEJnTlZIUTRFRmdRVUkvSkp4RStUNU84bjVzVDJLR3cvb3J2OUxrc3dEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWZCZ05WSFNNRUdEQVdnQlM3c042aFdET0ltcVNLbWQ2K3ZldXYyc3NrcXpBM0JnTlZIUjhFTURBdU1DeWdLcUFvaGlab2RIUndPaTh2WTNKc0xtRndjR3hsTG1OdmJTOWhjSEJzWlhKdmIzUmpZV2N6TG1OeWJEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VBWUtLb1pJaHZkalpBWUNEZ1FDQlFBd0NnWUlLb1pJemowRUF3SURad0F3WkFJd09zOXlnMUVXbWJHRyt6WERWc3Bpdi9RWDdka1BkVTJpanI3eG5JRmVRcmVKK0pqM20xbWZtTlZCRFkrZDZjTCtBakF5TGRWRUliQ2pCWGRzWGZNNE81Qm4vUmQ4TENGdGxrL0djbW1DRW05VStIcDlHNW5MbXdtSklXRUdtUThKa2gwQUFER0NBWWd3Z2dHRUFnRUJNSUdHTUhveExqQXNCZ05WQkFNTUpVRndjR3hsSUVGd2NHeHBZMkYwYVc5dUlFbHVkR1ZuY21GMGFXOXVJRU5CSUMwZ1J6TXhKakFrQmdOVkJBc01IVUZ3Y0d4bElFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVd0lJVERCQlNWR2RWRFl3Q3dZSllJWklBV1VEQkFJQm9JR1RNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERUSXpNRE15TURFMU1Ea3lOMW93S0FZSktvWklodmNOQVFrME1Sc3dHVEFMQmdsZ2hrZ0JaUU1FQWdHaENnWUlLb1pJemowRUF3SXdMd1lKS29aSWh2Y05BUWtFTVNJRUlHNUVTTk93NTFXOHR1OUhDOHFVRDkrVjMrL1lzZi8yWjhGeWVTaXdWdU0vTUFvR0NDcUdTTTQ5QkFNQ0JFY3dSUUloQUpXNVlWaWZlQVRmak5RcVNBTE8vNTd3TWJiNktVNXRIbWxMa1djb2NwdGxBaUJickNMK3Jub1FCd2V3K3hsSHNXYys4ZGhFd3p0enVkZkZOU2poZGtVSDVnQUFBQUFBQUE9PSIsImhlYWRlciI6eyJwdWJsaWNLZXlIYXNoIjoibjhOTENzdEJmUzJHSVpuTFNuU2YxQmZaaHZFci9xMy8vYlV6ZW5aUW1zMD0iLCJlcGhlbWVyYWxQdWJsaWNLZXkiOiJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVIcngwM2JpRVgrRGlOZkkvRlRGZHhoamo4b2hGakM3S24rQzgwSXZHa3QrR1R0aXlweDZ1UjM1bkcrOWhzWWpJU25Cd09VdDd2eksvNGhpWCsrSEZ0QT09IiwidHJhbnNhY3Rpb25JZCI6IjFlZmRhZmUyOWU5OGZiYzk2YmQ5NDg5ZGE0OWU4OWQ0Yzg5MmRkODI1NjgzOGUxOTUwNjljMzRlNWJjZmY0YzgifSwidmVyc2lvbiI6IkVDX3YxIn0=</dataValue>
            </opaqueData>
        </payment>
    </transactionRequest>
</createTransactionRequest>

And here is the response:

<?xml version="1.0" encoding="UTF-8"?>
<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">
   <messages>
      <resultCode>Error</resultCode>
      <message>
         <code>E00027</code>
         <text>The transaction was unsuccessful.</text>
      </message>
   </messages>
   <transactionResponse>
      <responseCode>3</responseCode>
      <authCode />
      <avsResultCode>P</avsResultCode>
      <cvvResultCode />
      <cavvResultCode />
      <transId>0</transId>
      <refTransID />
      <transHash />
      <testRequest>0</testRequest>
      <accountNumber />
      <accountType />
      <errors>
         <error>
            <errorCode>153</errorCode>
            <errorText>There was an error processing the payment data. Unable to decrypt data.</errorText>
         </error>
      </errors>
      <transHashSha2 />
   </transactionResponse>
</createTransactionResponse>

In the request, I've verified that I can successfully base 64 decode the contents of dataValue without issue.

I am not sure how to proceed here.

@mboyersgwg
Copy link
Author

In doing more testing, it looks like this can happen if the merchant id that is used in the Authorize.net account does not match the merchant id set up for them in their Apple account.

I have been able to reproduce this in with a sandbox environment, I will respond here again after working with the owner of the Authorize.net account.

@mboyersgwg
Copy link
Author

I've verified that there was an issue with the CSR that the owner of the authorize.net account sent me. They likely typed in their merchant id incorrectly. I will close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant