저는 SO와 Google을 훑어 보았고 이에 대한 비슷한 문제를 발견하지 못했습니다. 대답이 얼굴을 응시하는 것처럼 느껴지고 다른 눈이 필요합니다.AFFormURLParameterEncoding을 사용할 때 사전의 AFHttpClient 토큰이 유효하지 않습니다.
AFNetworking을 사용하여 Stripe.com API에 연결합니다. 특히 AFHTTPClient postPath를 사용하여 데이터를 엔드 포인트로 전송합니다. 스트라이프는 요청이 application/x-www-form-urlencoded로 인코딩되어야하므로 JSON 인코딩을 사용할 수 없습니다.
내가 겪고있는 문제는 내가 Charge 객체와 Card 객체를 가지고 있다는 점입니다. 카드 충전의 속성 내가있는 NSDictionary의에 충전과 카드를 모두 변환 후 그래서 같이 요청에 매개 변수로에서 통과 (카드 1, 충전 사전의 내부 사전입니다) :
NSDictionary *parameters = [ChargeRequest convertToDictionary:request];
[[StripeAPIClient sharedClient] postPath:@"charges" parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"Response: %@", responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", [error localizedDescription]);
NSLog(@"Response: %@", operation.responseString);
}];
을 내가 할 때 그것을 변환 한 후
"error": {
"message": "Invalid token id: {\n \"exp_month\" = 10;\n \"exp_year\" = 2016;\n number = 4242111111111111;\n}",
"type": "invalid_request_error"
}
오류의 값은 특히 카드 개체의 키/값은 다음과 같습니다 AFHttpClient의 parameterEncoding 속성이 AFFormURLParameterEncoding로 설정된이, 스트라이프는이 오류를 반환합니다.
return [[NSDictionary alloc] initWithObjectsAndKeys:request.number, @"number", [NSNumber numberWithInt:10], @"exp_month", [NSNumber numberWithInt:2016], @"exp_year", nil];
이있는 NSDictionary에 넣어되는 유효하지 않은 토큰을 제거하기 위해 무엇을 할에 대한 조언 : 여기 변환에 사용하는 코드는? 나는 잘못된 것에 집중하고 있습니까?
감사합니다.
에 끌어 오기 요청을 제출하는
에 대한 수정을 쓰고 있어요 감사. 게시 된 구현 코드에서 AFQueryStringComponentFromParameterAtBaseKeyWithEncoding이 누락 된 것 같습니다. –
죄송합니다. 그냥 –
을 추가했습니다. 효과가있었습니다. 감사합니다!! –