我集成了authorize.net并处理信用卡交易。我有处理直接信用卡支付的费用:
$authnet_info = array(
'createTransactionRequest' => array(
'merchantAuthentication' => array(
'name' => ######,
'transactionKey' => #######
),
'refId' => $data['reference_id'],
'transactionRequest' => array(
'transactionType' => 'authCaptureTransaction',
'amount' => $data['charge_amount'],
'payment' => array(
'creditCard' => array(
'cardNumber' => $data['cc_number'],
'expirationDate' => $data['cc_expiration'],
"cardCode" => $data['cvc']
)
),
'customer' => array(
'type' => 'business',
'id' => $data['id_company']
),
'billTo' => array(
"firstName" => $data['first_name'],
"lastName" => $data['last_name'],
'company' => $data['company_name'],
"address" => $data['address'],
"city" => $data['city'],
"state" => $data['state'],
"zip" => $data['zipcode']
),
"transactionSettings" => array (
"setting" => array (
array(
"settingName" => "duplicateWindow",
"settingValue" => "5"
)
)
)
)
)
);
这工作得很好,但是当我试图通过相同的设置
"transactionSettings" => array (
"setting" => array (
array(
"settingName" => "duplicateWindow",
"settingValue" => "5"
)
)
)
对于根据付款配置文件收费,我收到以下错误:
(
[code] => E00003
[text] => The element 'transactionRequest' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'transactionSettings' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'. List of possible elements expected: 'subsequentAuthInformation, otherTax, shipFrom, authorizationIndicatorType' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.
)
这是我发到www.example.com的帖子authorize.net
{
"createTransactionRequest": {
"merchantAuthentication": {
"name": "######",
"transactionKey": "##########"
},
"refId": "62",
"transactionRequest": {
"transactionType": "authCaptureTransaction",
"amount": "25.00",
"profile": {
"customerProfileId": "1231231",
"paymentProfile": {
"paymentProfileId": "34534534534"
}
},
"customer": {
"type": "business",
"id": 5
},
"processingOptions": {
"isSubsequentAuth": "false"
},
"transactionSettings": {
"setting": [{
"settingName": "duplicateWindow",
"settingValue": "5"
}]
}
}
}
}
当我删除交易设置的一部分,我的职位,收费通过罚款。有人知道这个设置需要放置在哪里?他们的文档明确指出,在这个位置,我放置,但我不知道为什么它不会通过。
编辑:我尝试了下面提到的方法,收到了同样的错误:
{
"createTransactionRequest": {
"merchantAuthentication": {
"name": "#####",
"transactionKey": "#######dfsd"
},
"refId": "62",
"transactionRequest": {
"transactionType": "authCaptureTransaction",
"amount": "25.00",
"profile": {
"customerProfileId": "502810352",
"paymentProfile": {
"paymentProfileId": "511258154"
}
},
"customer": {
"type": "business",
"id": 5
},
"processingOptions": {
"isSubsequentAuth": "false"
}
},
"transactionSettings": {
"setting": [{
"settingName": "duplicateWindow",
"settingValue": "5"
}]
}
}
}
编辑:我回答了这个问题,显然我在请求中有一个额外的设置,不需要在场
1条答案
按热度按时间svmlkihl1#
好的,我为其他面临同样问题的人解决了这个问题。这个问题似乎是
请求中的设置。我猜它在存在事务设置的情况下无效。
我最终通过了以下请求,并且运行良好