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 / gist:f218a013934bc6345eb30f7b972401aa
Created September 9, 2021 18:40
com.googlecode.iterm2.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AlternateMouseScroll</key>
<true/>
<key>AppleAntiAliasingThreshold</key>
<integer>1</integer>
<key>ApplePressAndHoldEnabled</key>
<false/>

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.

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'

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!
private static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger($CLASS$.class);
$END$
@javax.inject.Inject
private $CLASS_NAME$ $FIELD_NAME$;
$END$
@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);
}
@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') {
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 / 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;
@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;