To run the example project, clone the repo, and run pod install
from the Example directory first.
Minimum iOS version: 11.0
dojo-ios-sdk is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'dojo-ios-sdk', :git => 'git@github.com:Dojo-Engineering/dojo-ios-sdk.git', :tag => '1.0.0'
SDK functionality can be accessed via DojoSdk object.
import dojo_ios_sdk
let cardPaymentPayload = DojoCardPaymentPayload(cardDetails: DojoCardDetails(cardNumber: "4456530000001096", cardName: "Card Holder Name", expiryDate: "12 / 24", cv2: "020"))
let token = "Token from Payment Intent (connecteToken)"
DojoSDK.executeCardPayment(token: token,
payload: cardPaymentPayload,
fromViewController: self) { [weak self] result in
print(result)
}
This example includes only required fields, you can find additional fields that can be passed in the API reference.
import dojo_ios_sdk
let applePayConfig = DojoApplePayConfig(merchantIdentifier:"merchant.uk.co.paymentsense.sdk.demo.app", supportedCards: ["visa","mastercard", "amex", "maestro"])
let applePayPayload = DojoApplePayPayload(applePayConfig: applePayConfig)
let paymentIntent = DojoPaymentIntent(id: "Payment intent ID", totalAmount: DojoPaymentIntentAmount(value: 120, currencyCode: "GBP"))
DojoSDK.executeApplePayPayment(paymentIntent: paymentIntent, payload: applePayPayload, fromViewController: self) { [weak self] result in
print(result)
}
This example includes only required fields, you can find additional fields that can be passed in the API reference.
#import <dojo_ios_sdk/dojo_ios_sdk-Swift.h>
DojoCardPaymentPayload* cardPaymentPayload = [[DojoCardPaymentPayload alloc]
initWithCardDetails: [[DojoCardDetails alloc]
initWithCardNumber:@"4456530000001096"
cardName:@"Card Holder Name"
expiryDate:@"12 / 24"
cv2:@"020"]
userEmailAddress: NULL
userPhoneNumber: NULL
billingAddress: NULL
shippingDetails: NULL
metaData: NULL
savePaymentMethod: FALSE];
NSString *token = @"Token from Payment Intent";
[DojoSDK executeCardPaymentWithToken: token payload: cardPaymentPayload fromViewController: self completion:^(NSInteger result) {
NSLog(@"%ld", (long)result);
}];
#import <dojo_ios_sdk/dojo_ios_sdk-Swift.h>
DojoApplePayConfig *applePayConfig = [[DojoApplePayConfig alloc] initWithMerchantIdentifier: @"merchant.uk.co.paymentsense.sdk.demo.app"
supportedCards: [NSArray arrayWithObjects: @"visa", @"mastercard", nil]
collectBillingAddress: FALSE
collectShippingAddress: FALSE
collectEmail: FALSE];
DojoApplePayPayload *applePayPayload = [[DojoApplePayPayload alloc] initWithApplePayConfig: applePayConfig userEmailAddress: NULL metaData: NULL];
DojoPaymentIntent *paymentIntent = [[DojoPaymentIntent alloc] initWithId: @"PaymentIntent ID" clientSessionSecret: @"Token from Payment Intent" totalAmount: [[DojoPaymentIntentAmount alloc] initWithValue: 120 currencyCode:@"GBP"]];
[DojoSDK executeApplePayPaymentWithPaymentIntent: paymentIntent payload: applePayPayload fromViewController:self completion: ^(NSInteger result) {
NSLog(@"%ld", (long)result);
}];
This example includes only required fields, you can find additional fields that can be passed in the API reference.
successful = 0
authorizing = 3
referred = 4
declined = 5
duplicateTransaction = 20
failed = 30
waitingPreExecute = 99
invalidRequest = 400
issueWithAccessToken = 401
noAccessTokenSupplied = 404
internalServerError = 500
sdkInternalError = 7770
dojo-ios-sdk is available under the MIT license. See the LICENSE file for more info.