iOS 에서 위 챗 결제 디 스 플레이 시스템 의 바 쁜 문 제 를 해결 합 니 다.

최근 에 새로운 회사 에 와 서 프로젝트 를 맡 았 습 니 다.위 챗 결 제 를 할 때 위 챗 인터페이스 로 넘 어 갈 수 있 지만 대화 상자 에'시스템 이 바 쁩 니 다'라 고 표시 되 고 확인 을 누 르 면 위 챗 에 남아 앱 에 돌아 오지 않 습 니 다.그리고 각종 디 버 깅 을 할 수 있 습 니 다.위 챗 의 DEMO 와 접속 문 서 는 모두 간파 되 었 고 문 제 를 해결 하지 못 했 습 니 다.인터넷 에서 도 여러 가지 답 을 찾 았 습 니 다.위 챗 결제 SDK 버 전 을 낮 추 는 것 은 무엇 입 니까?그리고 전 달 된 파 라 메 터 를 검사 하고 파 라 메 터 를 반복 적 으로 검 사 했 습 니 다.문 제 를 발견 하지 못 했 고 제 문 제 를 해결 하지 못 했 습 니 다.안 드 로 이 드 쪽 에서 위 챗 으로 결제 할 수 있 습 니 다.iOS 쪽 은 안 됩 니 다.파 라 메 터 는 서버 에서 돌아 온 똑 같은 매개 변수 이기 때문에 파 라 메 터 는 문제 가 없 을 것 입 니 다.그리고 본의 아니 게 인터넷 에 있 는 한 친구 의 문 제 를 보고 친구 와 SDK 를 공유 하 는 것 이 충돌 했다 고 합 니 다마침 이 프로젝트 도 우 맹 을 통합 한 다음 에 프로젝트 에서 우 맹 이 등록 한 위 챗 APPID 의 코드 를 주석 하고 실행 하면 서 나의 문 제 를 완벽 하 게 해결 했다.(물론 코드 를 주석 할 수 없다)제 개인 적 인 해결 방안 은 위 챗 결 제 를 조정 하기 전에 위 챗 의 API 로 위 챗 의 APPID(프로그램 이 시 작 될 때 이미 한 번 등 록 했 지만,원래 의 코드 를 바 꾸 고 싶 지 않 습 니 다)아래 의 것 은 제 코드 입 니 다.여기에 적어 서 나중에 이런 문제 에 부 딪 히 는 어린이 신발 은 문 제 를 참고 하여 해결 할 수 있 습 니 다!

#pragma      
-(void) payMwxpay:(Mwxpay *) mwxpay{ 
  //        SDK  ,           APPID   
  //   plist     
  NSString *path = [[NSBundle mainBundle] pathForResource:@"appchange.plist" ofType:nil]; 
  NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path]; 
  //            appid 
  [WXApi registerApp:[dict toString:@"weixin_appId"] withDescription:@"aiwufu"]; 
  PayReq* req = [[PayReq alloc] init]; 
//  if ([mwxpay.package isEqualToString:@"Sign=Wxpay"]) { 
//    mwxpay.package=@"Sign=WXPay"; 
//  } 
//  if (mwxpay.sign!=nil) { 
//    mwxpay.sign=[mwxpay.sign uppercaseString]; 
//  } 
  req.openID = mwxpay.appid; 
  req.partnerId = mwxpay.partnerid; 
  req.prepayId = mwxpay.prepayid; 
  req.nonceStr = mwxpay.noncestr; 
  req.timeStamp = [mwxpay.timestamp intValue]; 
  req.package = mwxpay.package; 
  req.sign = mwxpay.sign; 
  [WXApi sendReq:req]; 
  NSLog(@"appid=%@
partid=%@
prepayid=%@
noncestr=%@
timestamp=%ld
package=%@
sign=%@",req.openID,req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign ); }

좋은 웹페이지 즐겨찾기