2013-10-08 4 views
0

Я создал запрос тестирования транзакции, используя purchaseWithRequest, всегда я получаю ошибкуAuthorize.net TransactionResponse ошибка прошивки

Операция этого типа рынка не может быть обработана в этой системе

Мой код:

- (void) createTransaction { 
    AuthNet *an = [AuthNet getInstance]; 

    [an setDelegate:self]; 
    CreditCardType *creditCardType = [CreditCardType creditCardType]; 
    creditCardType.cardNumber = @"4007000000027"; 
    creditCardType.cardCode = @"100"; 
    creditCardType.expirationDate = @"0215"; 

    PaymentType *paymentType = [PaymentType paymentType]; 
    paymentType.creditCard = creditCardType; 

    ExtendedAmountType *extendedAmountTypeTax = [ExtendedAmountType extendedAmountType]; 
    extendedAmountTypeTax.amount = @"0"; 
    extendedAmountTypeTax.name = @"Tax"; 

    ExtendedAmountType *extendedAmountTypeShipping = [ExtendedAmountType extendedAmountType]; 
    extendedAmountTypeShipping.amount = @"0"; 
    extendedAmountTypeShipping.name = @"Shipping"; 

    LineItemType *lineItem = [LineItemType lineItem]; 
    lineItem.itemName = @"Soda"; 
    lineItem.itemDescription = @"Soda"; 
    lineItem.itemQuantity = @"1"; 
    lineItem.itemPrice = @"1.00"; 
    lineItem.itemID = @"1"; 

    TransactionRequestType *requestType = [TransactionRequestType transactionRequest]; 
    requestType.lineItems = [NSMutableArray arrayWithObject:lineItem]; 
    requestType.amount = @"1.00"; 
    requestType.payment = paymentType; 
    requestType.tax = extendedAmountTypeTax; 
    requestType.shipping = extendedAmountTypeShipping; 

    CreateTransactionRequest *request = [CreateTransactionRequest createTransactionRequest]; 
    request.transactionRequest = requestType; 
    request.transactionType = AUTH_ONLY; 
    request.anetApiRequest.merchantAuthentication.mobileDeviceId = 
    [[Utility getDeviceID] 
    stringByReplacingOccurrencesOfString:@"-" withString:@"_"]; 
    request.anetApiRequest.merchantAuthentication.sessionToken = sessionToken; 
    [an purchaseWithRequest:request]; 
} 

W Хич дать обратный вызов этому методу делегата,

- (Недействительными) requestFailed: (AuthNetResponse *) ответ { // Обработать неисправного запрос // получение обратного вызова для этого метода }

- (void) connectionFailed:(AuthNetResponse *)response { 
    // Handle a failed connection 
} 

- (void) paymentSucceeded:(CreateTransactionResponse *) response { 
    // Handle payment success 
} 

Примечание: мой mobileDeviceRegistrationSucceeded и mobileDeviceLoginSucceeded, только purchaseWithRequestFailed

TransactionResponse.errors = (
    "Error.errorCode = 87\nError.errorText = Transactions of this market type cannot be processed on this system.\n" 
) 
+0

Получение следующей ошибки при использовании вышеуказанного кода. Message.code = E00027 Message.text = Не удалось выполнить транзакцию. Любое решение для этого? – Tarang

ответ

0

Ошибка типа рынка (ошибка 87)

Текст ошибки: (87) Сделки этого типа рынка в этой системе не обрабатываются.

Что это значит

Эта ошибка указывает на то, что учетная запись, что вы используете был создан для карт Present (розничных) сделок, но вы пытаетесь интегрировать в нашу карту Not Present (электронной коммерции) API, или наоборот. Единственный способ разрешить это - открыть новую тестовую учетную запись с правильным типом рынка. Если ошибка происходит с активной учетной записью, продавцу необходимо будет позвонить в службу поддержки клиентов, чтобы узнать, как получить правильную учетную запись. В ближайшие месяцы Authorize.Net будет поддерживать смешанные учетные записи, поддерживающие транзакции как с картой, так и с картой Not Present, что устранит эту ошибку. Когда эти учетные записи будут доступны, мы опубликуем объявление в Совете новостей и объявлений.

Смежные вопросы