<?php 
/************************************************************************************************* 
 
Use the CIM JSON API to process a Prior Authorization Capture transaction 
 
SAMPLE REQUEST 
-------------------------------------------------------------------------------------------------- 
{ 
   "createCustomerProfileTransactionRequest":{ 
      "merchantAuthentication":{ 
         "name":"", 
         "transactionKey":"" 
      }, 
      "transaction":{ 
         "profileTransPriorAuthCapture":{ 
            "amount":"10.95", 
            "tax":{ 
               "amount":"1.00", 
               "name":"WA state sales tax", 
               "description":"Washington state sales tax" 
            }, 
            "shipping":{ 
               "amount":"2.00", 
               "name":"ground based shipping", 
               "description":"Ground based 5 to 10 day shipping" 
            }, 
            "lineItems":[ 
               { 
                  "itemId":"1", 
                  "name":"vase", 
                  "description":"Cannes logo", 
                  "quantity":"18", 
                  "unitPrice":"45.00" 
               }, 
               { 
                  "itemId":"2", 
                  "name":"desk", 
                  "description":"Big Desk", 
                  "quantity":"10", 
                  "unitPrice":"85.00" 
               } 
            ], 
            "customerProfileId":"31390172", 
            "customerPaymentProfileId":"28393490", 
            "customerShippingAddressId":"29366174", 
            "transId":"2230582347" 
         } 
      }, 
      "extraOptions":"x_customer_ip=100.0.0.1" 
   } 
} 
 
SAMPLE RESPONSE 
-------------------------------------------------------------------------------------------------- 
{ 
   "directResponse":"1,1,1,This transaction has been approved.,S9WA0V,P,2230582347,INV000001,,10.95,CC,prior_auth_capture,12345,,,,,,,12345,,,,,,,,,,,,,1.00,,2.00,,,66E86622C893D1DBBC47D1B314CB57E2,,,,,,,,,,,,,XXXX1111,Visa,,,,,,,,,,,,,,,,,29366174", 
   "messages":{ 
      "resultCode":"Ok", 
      "message":[ 
         { 
            "code":"I00001", 
            "text":"Successful." 
         } 
      ] 
   } 
} 
 
*************************************************************************************************/ 
 
namespace Authnetjson; 
 
use Exception; 
 
require '../../config.inc.php'; 
 
try { 
    $request = AuthnetApiFactory::getJsonApiHandler( 
        AUTHNET_LOGIN, 
        AUTHNET_TRANSKEY, 
        AuthnetApiFactory::USE_DEVELOPMENT_SERVER 
    ); 
    $response = $request->createCustomerProfileTransactionRequest([ 
        'transaction' => [ 
            'profileTransPriorAuthCapture' => [ 
                'amount' => '10.95', 
                'tax' => [ 
                    'amount' => '1.00', 
                    'name' => 'WA state sales tax', 
                    'description' => 'Washington state sales tax' 
                ], 
                'shipping' => [ 
                    'amount' => '2.00', 
                    'name' => 'ground based shipping', 
                    'description' => 'Ground based 5 to 10 day shipping' 
                ], 
                'lineItems' => [ 
                    [ 
                        'itemId' => '1', 
                        'name' => 'vase', 
                        'description' => 'Cannes logo', 
                        'quantity' => '18', 
                        'unitPrice' => '45.00' 
                    ], 
                    [ 
                        'itemId' => '2', 
                        'name' => 'desk', 
                        'description' => 'Big Desk', 
                        'quantity' => '10', 
                        'unitPrice' => '85.00' 
                    ] 
                ], 
                'customerProfileId' => '31390172', 
                'customerPaymentProfileId' => '28393490', 
                'customerShippingAddressId' => '29366174', 
                'transId' => '2230582347' 
            ] 
        ], 
        'extraOptions' => 'x_customer_ip=100.0.0.1' 
    ]); 
} catch (Exception $e) { 
    echo $e; 
    exit; 
} 
?> 
 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>CIM :: Prior Authorization Capture</title> 
    <style> 
        table { border: 1px solid #cccccc; margin: auto; border-collapse: collapse; max-width: 90%; } 
        table td { padding: 3px 5px; vertical-align: top; border-top: 1px solid #cccccc; } 
        pre { white-space: pre-wrap; } 
        table th { background: #e5e5e5; color: #666666; } 
        h1, h2 { text-align: center; } 
    </style> 
</head> 
<body> 
    <h1> 
        CIM :: Prior Authorization Capture 
    </h1> 
    <h2> 
        Results 
    </h2> 
    <table> 
        <tr> 
            <th>Successful?</th> 
            <td><?= $response->isSuccessful() ? 'yes' : 'no' ?></td> 
        </tr> 
        <tr> 
            <th>Error?</th> 
            <td><?= $response->isError() ? 'yes' : 'no' ?></td> 
        </tr> 
        <tr> 
            <th>Result Code</th> 
            <td><?= $response->messages->resultCode ?></td> 
        </tr> 
        <tr> 
            <th>Message Code</th> 
            <td><?= $response->messages->message[0]->code ?></td> 
        </tr> 
        <tr> 
            <th>Message</th> 
            <td><?= $response->messages->message[0]->text ?></td> 
        </tr> 
        <tr> 
            <th>Transaction Approved?</th> 
            <td><?php echo ($response->isApproved()) ? 'yes' : 'no' ?></td> 
        </tr> 
        <tr> 
            <th>Authorization Code</th> 
            <td><?= $response->getTransactionResponseField('AuthorizationCode') ?></td> 
        </tr> 
        <tr> 
            <th>AVS Response</th> 
            <td><?= $response->getTransactionResponseField('AVSResponse') ?></td> 
        </tr> 
        <tr> 
            <th>Transaction ID</th> 
            <td><?= $response->getTransactionResponseField('TransactionID') ?></td> 
        </tr> 
    </table> 
    <h2> 
        Raw Input/Output 
    </h2> 
<?= $request, $response ?> 
</body> 
</html> 
 
 |