How to Implement Partial Auth on Authorize.net API

37 Views Asked by At

I am in need of Partial Authorization for payment processing for a system I am developing using the Authorize.net API.

I am going over the docs and attempting to send a partial auth payment through a sandbox account and I am not getting any splitTenderPayments in the transaction response, even with what appears to be correct transactionSettings

Here is the API Request:

api_request = {
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": f"{merchant_account.api_id}",
            "transactionKey": f"{merchant_account.transaction_key}"
        },
        "transactionRequest": {
            "transactionType": "authCaptureTransaction",
            "amount": str(amount),
            "payment": payment_info,
            "order": {
                "description": "Rental Payment"
            },
            "customer": {
                "email": resident.user.email,
            },
            "billTo": {
                "firstName": resident.user.first_name,
                "lastName": resident.user.last_name,
                "address": f"{resident.property.street_address} - {resident.unit.get_building_and_unit_number()}",
                "city": resident.property.city,
                "state": resident.property.state,
                "zip": resident.property.zip_code,
                "country": "USA"
            },
            "transactionSettings": {
                "setting": [
                    {
                        "settingName": "emailCustomer",
                        "settingValue": "true"
                    }, {
                        "settingName": "allowPartialAuth",
                        "settingValue": "true"
                    },
                ]
            },
        }
    }

Here is my response:

{'transactionResponse': {'responseCode': '1', 'authCode': '472C0C', 'avsResultCode': 'Y', 'cvvResultCode': 'P', 'cavvResultCode': '2', 'transId': '40038777973', 'refTransID': '', 'transHash': '', 'testRequest': '0', 'accountNumber': 'XXXX1111', 'accountType': 'Visa', 'messages': [{'code': '1', 'description': 'This transaction has been approved.'}], 'transHashSha2': 'E01465B179D74CB98FA3386EB76CAD0C3E1DCBA0854A512F95C2F4909DD07211998A3C6D6256D03E09A6AEF7C06E9C028571FC21B99F846DEF141805DDB8A31E', 'SupplementalDataQualificationIndicator': 0}, 'messages': {'resultCode': 'Ok', 'message': [{'code': 'I00001', 'text': 'Successful.'}]}}

What am I doing wrong?

0

There are 0 best solutions below