iZettle / sdk-ios

Add card payments from Zettle to your own app
https://developer.zettle.com/docs/ios-sdk
Other
83 stars 38 forks source link

Venmo Payment Shows Failure in Zettle SDK But Payment Successfully Pulled From Venmo Account #434

Closed chaderick9 closed 1 year ago

chaderick9 commented 1 year ago

Expected Behavior

When I initiate a VENMO QRC payment with the following code snippet:

{
  @try {
    NSDecimalNumber *amount = [NSDecimalNumber decimalNumberWithString:[[args valueForKey:@"grandTotal"] stringValue]];
    NSString *internalTraceId = [[args valueForKey:@"cartId"] stringValue];

    if (@available(iOS 13, *)) {
      [[iZettleSDK shared] chargePayPalQRCWithAmount:amount reference:internalTraceId appearance:1 presentFromViewController:[self currentApplicationViewController] completion:^(IZSDKPayPalQRCPaymentInfo *paymentInfo, NSError *error) {
        if (!error && paymentInfo) {
          resolve([self handleQRCPaymentPayload:paymentInfo withReferenceId:internalTraceId]);
          return;
        }
        reject(@"E_QRC_PAYMENT_CANCELLED", error.description, nil);
      }];
    } else {
      reject(@"E_QRC_PAYMENT_CANCELLED", @"iOS 13+ required", nil);
    }
  } @catch (NSException *exception) {
    reject(@"E_QRC_PAYMENT_CANCELLED", exception.description, nil);
  }
}

I expect the payment to be successful and not return an error.

Current Behavior

When I initiate a VENMO QRC payment and scan the VENMO QR code that the Zettle UI displays on the iPhone running the SDK - the Zettle UI returns the error ( see screenshot below ) as well as returns the error.description : IZSDKPayPalQRCTechnicalError. This prevents the Zettle UI from progressing and showing the expected successful icon making the user believe the payment was unsuccessful. However, (see 2nd screenshot below) the VENMO payment is in fact successful.

Steps to Reproduce

  1. create and charge a VENMO QRC payment chargePayPalQRCWithAmount ...
  2. scan the QR code presented in the Zettle UI with a different mobile device running the VENMO app

Context

This implementation has been working for the last 8 months and only recently started breaking on Aug. 3, 2023 and no new deploy of our mobile app had occurred.

We have reached out to your support team who is unaware that this same issue is happening even with your official Zettle app ... Could it be our paypal account? We have no trouble processing payments with the zettle card readers within our same mobile app.

Screenshots

IMG_3805 IMG_3806

ppeelen commented 1 year ago

Hello @chaderick9! Thank you for reaching out. From the little code we can see, it seems that you are performing the call to the SDK correctly. In order to investigate this further we would need more information about the transaction made and for that we would like to ask you to create a ticket using our developer portal as such information should not be shared in a public forum.

Could you please be so kind and create a ticket via https://developer.zettle.com, top right corner "Support". Please include a link to this issue as well as much detailed information about the transaction made with possible payment references.

chaderick9 commented 1 year ago

Thanks for your reply, @ppeelen

We actually already have created a ticket via the developer link you mentioned. This was done over a week ago and unfortunately It was only because of our poor experience through that stream that we then resulted to this github repo.

Here is our existing jira ticket number. API-1867

CRITICAL ERROR - NEED IMMEDIATE FIX: Venmo is showing an error indicating payments are not processing, but indeed they are.

We will reply within that ticket and include a reference to this repo now.

Thanks so much.

ppeelen commented 1 year ago

@chaderick9 I have been informed that the issue should now have been resolved. I will close this issue, but if the problem persists, please do not hesitate to let us know and reopen this issue or the ticket you mentioned before.