Skip to content

Instantly share code, notes, and snippets.

View andidev's full-sized avatar

Anders Steiner andidev

  • PideDirecto
  • Sweden, Stockholm
View GitHub Profile
@andidev
andidev / SuSwitchUserFilter.java
Last active August 29, 2015 14:14
Modified Spring SwitchUserFilter, switch user by typing "su username" and logout by "sulogout" in url
package com.mycompany.myapp.config;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
@andidev
andidev / WebDriverExtensionsGroovyExampleTest.groovy
Last active June 27, 2017 09:55
Example of a WebDriver Extensions Test written in Groovy
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.WebElement;
import com.github.webdriverextensions.junitrunner.WebDriverRunner;
import com.github.webdriverextensions.junitrunner.annotations.*;
import static com.github.webdriverextensions.Bot.*;
import static java.util.concurrent.TimeUnit.SECONDS;
@andidev
andidev / WebDriverExtensionsExampleTest.java
Last active September 3, 2017 11:32
Example of a WebDriver Extensions Test
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.WebElement;
import com.github.webdriverextensions.junitrunner.WebDriverRunner;
import com.github.webdriverextensions.junitrunner.annotations.*;
import static com.github.webdriverextensions.Bot.*;
import static java.util.concurrent.TimeUnit.SECONDS;
import java.util.Arrays;
import java.util.Collection;
import static java.util.concurrent.TimeUnit.*;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@andidev
andidev / slumpa-svenskt-data.js
Last active November 12, 2018 12:37
slumpa svenska personnummer, organizationsnummer, förnamn, efternamn
function randomPersonNumber() {
return insertHyphen(appendControlNumber(randomYear() + randomMonth() + randomDay() + randomLastThreeNumbers()));
}
function randomOrganizationNumber() {
var randomOrganizationNumber = "00" + (556900000 + randomNumber(1, 99999)).toString();
return insertHyphen(appendControlNumber(randomOrganizationNumber));
}
function randomOrganizationName(name) {
var typeOfBusinesses = ['Bilar','Cyklar','Verkstad','Restaurang','Thaikök','Badhus','Brädspel','Reparation','Mediabolag','Butik','Korv','Hamburgere','Data','Hus','Mäklare','Bakeri','Cafe','Resebyrå','Fastigheter','Detaljhandel','Media','Support','Transport','Bokhandel','Skönhetsvård','Hälsa','Hår','Salong','Skogsbruk','Fritid','Bank','Försäkringar','Grosshandlare','Antikvariat','Fruktimport','Surdegshotell','Rökeri']
if(name.slice(-1) !== 's') {
@andidev
andidev / waitFor.js
Last active November 17, 2015 16:16
waitFor.js
function waitFor(condition, callback) {
if (window.angular != undefined) {
/* do something*/
callback();
} else {
window.setTimeout(function () {
waitFor(condition, callback)
}, 1000);
}
private static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger($CLASS$.class);
$END$
@javax.inject.Inject
private $CLASS_NAME$ $FIELD_NAME$;
$END$

qpRealizaTransaccion

  • call opReversa in cases when transaction is aborted
  • Contact support and ask how we can call qpError when PIN enter is canceled, cause there is currently no way to detect that
  • Test and fix bugs / add missing AIDS/CAPKS

qpProcesaFirma

  • implement in Terminal Test Application

qpRealizaCancelacion

  • Done!

Getting started

  1. Copy olipaysdk-release.aar and emvlibrary-release.aar to app/libs folder

  2. Add the following dependencies to app/build.gradle

dependencies {
    //... other project dependencies
    implementation files('libs/olipaysdk-release.aar')
    implementation files('libs/emvlibrary-release.aar')
    implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.4'

OliPay Emida API

Base URL for REST API for testing:

https://apiemida-test.azurewebsites.net/api/

All API calls can made with request method GET or POST. If using get pass data with query parameters. If using POST request data could be passed in body.

All example api calls in this document pass the data with query parameters to they can easily be tested in the browser.