PayDollar is a global payment gateway that accepts payments from more than 200 countries.The PaySDK ensures payment is authorised by 3DS 2.0
- Direct Client Side Connection
- WebView Payment - Client Post through Browser Side Connection
- Payment via Alipay
- iOS 11.0+
- Xcode 10.0+
- Swift version 4+ -Objective C
Merchant need to integrate certificate. This certificate is provided in PayDollar Dashboard.
Add paysdk.plist
and set value of certificate and "Domain" key value pair. Value for the Domain is optinal
Add AP_PaySDK.framework
file into your project by adding the dependencies in Build Phases / Link Binary With Libraries
CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate PayDollarSDK into your Xcode project using CocoaPods, specify it in your Podfile
:
pod 'AP_PaySDK', '2.6.23'
Add implementation of PaySDK
- Swift Code
@import AP_PaySDK
class ViewController: UIViewController {
let paySDK = PaySDK.shared
paySDK.delegate = self
.
.
.
- Objective C Code
#import <AP_PaySDK/AP_PaySDK.h>
#import <AP_PaySDK/AP_PaySDK-Swift.h>
@import AP_PaySDK
- (void)viewDidLoad {
[super viewDidLoad];
paySDK = [PaySDK shared];
paySDK.delegate = self;
.
.
.
- Swift Code
let customization = UiCustomization()
let submitButtonCustomization = ButtonCustomization("Courier", "#FF0000", 15, "#d3d3d3", 4)
let resendButtonCustomization = ButtonCustomization("Courier", "#FF0000", 15, "#d3d3d3", 4)
let cancelButtonCustomization = ButtonCustomization("Courier", "#FF0000", 15, "#d3d3d3", 4)
let nextButtonCustomization = ButtonCustomization("Courier", "#FF0000", 15, "#d3d3d3", 4)
let continueButtonCustomization = ButtonCustomization("Courier", "#FF0000", 15, "#d3d3d3", 4)
let labelCustomization = LabelCustomization("Courier", "FF0000", 14, "FF0000", "Courier", 20)
let textboxCustomization = TextBoxCustomization("Courier", "#FF0000", 14, 5, "#d3d3d3", 4)
let toolBarCustomization = ToolbarCustomization("Courier", "#FFFFFF", 20, "#000000", "Header Text", "Close Button Text")
try! customization.setButtonCustomization(submitButtonCustomization, .SUBMIT)
try! customization.setButtonCustomization(resendButtonCustomization, .RESEND)
try! customization.setButtonCustomization(cancelButtonCustomization, .CANCEL)
try! customization.setButtonCustomization(nextButtonCustomization, .NEXT)
try! customization.setButtonCustomization(continueButtonCustomization, .CONTINUE)
try! customization.setLabelCustomization(labelCustomization)
try! customization.setTextBoxCustomization(textboxCustomization)
try! customization.setToolbarCustomization(toolBarCustomization)
paySDK.uiCustomization = customization
- Objective C Code
UiCustomization *customization = [[UiCustomization alloc] init];
ButtonCustomization *submitButtonCustomization = [[ButtonCustomization alloc] init:@"Courier" :@"#FF0000" :15 :@"#d3d3d3" :4];
ButtonCustomization *resendButtonCustomization = [[ButtonCustomization alloc] init:@"Courier" :@"#FF0000" :15 :@"#d3d3d3" :4];
ButtonCustomization *cancelButtonCustomization = [[ButtonCustomization alloc] init:@"Courier" :@"#FF0000" :15 :@"#d3d3d3" :4];
ButtonCustomization *nextButtonCustomization = [[ButtonCustomization alloc] init:@"Courier" :@"#FF0000" :15 :@"#d3d3d3" :4];
ButtonCustomization *continueButtonCustomization = [[ButtonCustomization alloc] init:@"Courier" :@"#FF0000" :15 :@"#d3d3d3" :4];
LabelCustomization *labelCustomization = [[LabelCustomization alloc] init:@"Courier" :@"#FF0000" :14 :@"#FF0000":@"Courier" :20];
TextBoxCustomization *textBoxCustomization = [[TextBoxCustomization alloc] init:@"Courier" :@"FF0000" :14 :4 :@"FF0000" :4];
// ToolbarCustomization *toolbarCustomization = [[ToolbarCustomization alloc] init:@"Courier" :@"#FFFFFF" :20 :@"#000000" :@"Payment Page"];
NSError *err;
[customization setLabelCustomization:labelCustomization error:&err];
[customization setButtonCustomization:submitButtonCustomization : PaySDKButtonTypeSUBMIT error:&err];
[customization setButtonCustomization:resendButtonCustomization : PaySDKButtonTypeRESEND error:&err];
[customization setButtonCustomization:cancelButtonCustomization : PaySDKButtonTypeCANCEL error:&err];
[customization setButtonCustomization:nextButtonCustomization : PaySDKButtonTypeNEXT error:&err];
[customization setButtonCustomization:continueButtonCustomization : PaySDKButtonTypeCONTINUE error:&err];
[customization setLabelCustomization:labelCustomization error:&err];
[customization setTextBoxCustomization:textBoxCustomization error:&err];
//[customization setToolbarCustomization:toolbarCustomization error:&err];
[paySDK setUiCustomization:customization];
Creating PayData for payment and process.
- Swift Code
paySDK.paymentDetails = PayData(channelType: PayChannel.WEBVIEW,
envType: EnvType.SANDBOX,
amount : "10",
payGate: PayGate.PAYDOLLAR,
currCode: currencyCode.HKD,
payType: payType.NORMAL_PAYMENT,
orderRef: "abcde12345",
payMethod: "VISA",
lang: Language.ENGLISH,
merchantId: "1",
remark: "",
payRef: "",
resultPage: "F",
showCloseButton: true,
showToolbar: true,
webViewClosePrompt: "Do you really want to close this page?",
extraData: [:])
//For giving the merchant app rootviewcontroller to present webview. Its an optional parameter.
paysdk.paymentDetails.presentController = PresentViewController(presentViewController: (UIApplication.shared.keyWindow?.rootViewController)!)
paySDK.process()
- Objective C Code
paySDK.paymentDetails = [[PayData alloc] initWithChannelType: PayChannelWEBVIEW envType: EnvTypeSANDBOX
amount: @"10"
payGate: PayGatePAYDOLLAR
currCode: CurrencyCodeHKD
payType: payTypeNORMAL_PAYMENT
orderRef: @"abcde12345"
payMethod: @"CC"
lang: LanguageENGLISH
merchantId: @"1"
remark: @""
payRef: @""
resultpage: @"F"
showCloseButton: true
showToolbar: true
webViewClosePrompt: @"Do you really want to close this page?"
extraData: nil,
merchantCapabilitiesData:nil
supportedNetworksData:nil];
//For giving the merchant app rootviewcontroller to present webview. Its an optional parameter.
paysdk.paymentDetails.presentController = [[PresentViewController alloc] initWithPresentViewController:[[[UIApplication sharedApplication]keyWindow]rootViewController]];
[paySDK process];
- Swift Code
paySDK.paymentDetails = PayData(channelType: PayChannel.DIRECT,
envType: EnvType.SANDBOX,
amount : "10",
payGate: PayGate.PAYDOLLAR,
currCode: currencyCode.HKD,
payType: payType.NORMAL_PAYMENT,
orderRef: "abcde12345",
payMethod: "VISA",
lang: Language.ENGLISH,
merchantId: "1",
remark: "",
payRef: "",
resultPage: "F",
showCloseButton: false,
showToolbar: false,
webViewClosePrompt: "",
extraData :[:])
paySDK.paymentDetails.cardDetails = CardDetails(cardHolderName: "abc abc",
cardNo: "1234567890123456”,
expMonth: "11",
expYear: "2011",
securityCode: "123")
paySDK.process()
- Objective C Code
paySDK.paymentDetails = [[PayData alloc] initWithChannelType:PayChannelDIRECT envType:EnvTypeSANDBOX
amount:amountText.text
payGate:PayGatePAYDOLLAR
currCode:CurrencyCodeHKD
payType:payTypeNORMAL_PAYMENT
orderRef: orderRef
payMethod:@"VISA"
lang:LanguageENGLISH
merchantId: merchantId
remark:@""
payRef:@""
resultpage:resultPage
showCloseButton: false
showToolbar: false
webViewClosePrompt: @"",
extraData: nil,
merchantCapabilitiesData:nil
supportedNetworksData:nil];
paySDK.paymentDetails.cardDetails = [[CardDetails alloc] initWithCardHolderName:@"Test Card"
cardNo:cardNoText.text
expMonth:expMonthText.text
expYear:expYearText.text
securityCode:securityCodeText.text];
[paySDK process];
- Swift Code
extension ViewController : PaySDKDelegate {
func paymentResult(result: PayResult) {
\\Code here
}
}
*Objective C Code
-(void)paymentResultWithResult:(PayResult * _Nonnull)result {
\\Code here
}
successCode | prc | Error Code | Error Type | Error Message |
---|---|---|---|---|
1 | -10 | EI01 | Invalid Payment Method | Invalid Payment Method Exception |
1 | -10 | ET01 | System Timeout | Timeout Exception |
For detailed description kindly follow PayDollar Guide.