Added README
This commit is contained in:
parent
423887cf53
commit
c6ac784e1f
|
@ -0,0 +1,32 @@
|
||||||
|
package net.codinux.banking.epcqrcode.examples
|
||||||
|
|
||||||
|
import net.codinux.banking.epcqrcode.EpcQrCodeConfig
|
||||||
|
import net.codinux.banking.epcqrcode.ImageFormat
|
||||||
|
|
||||||
|
class EpcQrCodeGeneratorExamples {
|
||||||
|
|
||||||
|
fun generateEpcQrCode() {
|
||||||
|
val generator = net.codinux.banking.epcqrcode.EpcQrCodeGenerator()
|
||||||
|
|
||||||
|
// these are the only two mandatory fields:
|
||||||
|
val receiverName = "Belgian Red Cross"
|
||||||
|
val iban = "BE72000000001616"
|
||||||
|
|
||||||
|
// optional but recommended fields:
|
||||||
|
val bic: String? = null
|
||||||
|
val amount: String? = "1"
|
||||||
|
val reference: String? = "Donation"
|
||||||
|
val informationForUser: String? = "Was für ein schönes EPC QR Code Beispiel" // not used / displayed by most applications
|
||||||
|
|
||||||
|
val qrCodeHeightAndWidth = 400
|
||||||
|
val imageFormat = ImageFormat.PNG
|
||||||
|
|
||||||
|
|
||||||
|
// generate EPC QR code and QR code image
|
||||||
|
val result = generator.generateEpcQrCode(EpcQrCodeConfig(receiverName, iban, bic, amount, reference, informationForUser,
|
||||||
|
qrCodeHeightAndWidth = qrCodeHeightAndWidth, imageFormat = imageFormat))
|
||||||
|
|
||||||
|
val imageBytes = result.bytes // now show these in UI
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package net.codinux.banking.epcqrcode.examples
|
||||||
|
|
||||||
|
class EpcQrCodeParserExamples {
|
||||||
|
|
||||||
|
fun decode() {
|
||||||
|
val decodedQrCodeText: String = "..." // the text that is contained / read from QR code
|
||||||
|
|
||||||
|
val parser = net.codinux.banking.epcqrcode.parser.EpcQrCodeParser()
|
||||||
|
|
||||||
|
val result = parser.parseEpcQrCode(decodedQrCodeText)
|
||||||
|
|
||||||
|
val epcQrCode = result.epcQrCode
|
||||||
|
if (epcQrCode != null) {
|
||||||
|
println("Receiver = ${epcQrCode.receiverName}, IBAN = ${epcQrCode.iban}, amount = ${epcQrCode.amount}, ...")
|
||||||
|
} else {
|
||||||
|
println("Code not decode EPC QR code: ${result.error}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,92 @@
|
||||||
|
# EPC QR Code
|
||||||
|
|
||||||
|
Vermarktet als GiroCode, scan2Code, Zahlen mit Code, ... ist der EPC QR Code ein Standard des European Payments Council
|
||||||
|
zum Übermitteln von Überweisungsdaten mittels eines QR Codes.
|
||||||
|
|
||||||
|
Der EPC QR Code enthält Überweisungsdaten wie IBAN, Empfängername, Betrag, ...
|
||||||
|
Eine Clientanwendung scannt dieses QR Code und kann sofort alle Überweisungsdaten anzeigen und, sofern vom Kunden gewünscht,
|
||||||
|
diese Überweisung direkt ausführen.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### Gradle:
|
||||||
|
|
||||||
|
```
|
||||||
|
repositories {
|
||||||
|
// ... mavenCentral() etc.
|
||||||
|
maven {
|
||||||
|
setUrl("https://maven.dankito.net/api/packages/codinux/maven")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("net.codinux.banking.epcqrcode:epc-qr-code:0.5.0")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Maven:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>codinux</id>
|
||||||
|
<url>https://git.dankito.net/api/packages/codinux/maven</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.codinux.banking.epcqrcode</groupId>
|
||||||
|
<artifactId>epc-qr-code-jvm</artifactId>
|
||||||
|
<version>0.5.0</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
```
|
||||||
|
|
||||||
|
## EPC QR Code erstellen
|
||||||
|
|
||||||
|
```kotlin
|
||||||
|
val generator = net.codinux.banking.epcqrcode.EpcQrCodeGenerator()
|
||||||
|
|
||||||
|
// these are the only two mandatory fields:
|
||||||
|
val receiverName = "Belgian Red Cross"
|
||||||
|
val iban = "BE72000000001616"
|
||||||
|
|
||||||
|
// optional but recommended fields:
|
||||||
|
val bic: String? = null
|
||||||
|
val amount: String? = "1"
|
||||||
|
val reference: String? = "Donation"
|
||||||
|
val informationForUser: String? = "Was für ein schönes EPC QR Code Beispiel" // not used / displayed by most applications
|
||||||
|
|
||||||
|
val qrCodeHeightAndWidth = 400
|
||||||
|
val imageFormat = ImageFormat.PNG
|
||||||
|
|
||||||
|
|
||||||
|
// generate EPC QR code and QR code image
|
||||||
|
val result = generator.generateEpcQrCode(EpcQrCodeConfig(receiverName, iban, bic, amount, reference, informationForUser,
|
||||||
|
qrCodeHeightAndWidth = qrCodeHeightAndWidth, imageFormat = imageFormat))
|
||||||
|
|
||||||
|
val imageBytes = result.bytes // now show these in UI
|
||||||
|
```
|
||||||
|
|
||||||
|
## EPC QR Code dekodieren
|
||||||
|
|
||||||
|
Dekodieren Sie zuerst den QR Code mittels einer QR Code Library. Den im QR Code Text übergeben Sie dann an
|
||||||
|
`EpcQrCodeParser` zum dekodieren der Überweisungsdaten:
|
||||||
|
|
||||||
|
```kotlin
|
||||||
|
val decodedQrCodeText: String = "..." // the text that is contained / read from QR code
|
||||||
|
|
||||||
|
val parser = net.codinux.banking.epcqrcode.parser.EpcQrCodeParser()
|
||||||
|
|
||||||
|
val result = parser.parseEpcQrCode(decodedQrCodeText)
|
||||||
|
|
||||||
|
val epcQrCode = result.epcQrCode
|
||||||
|
if (epcQrCode != null) {
|
||||||
|
println("Receiver = ${epcQrCode.receiverName}, IBAN = ${epcQrCode.iban}, amount = ${epcQrCode.amount}, ...")
|
||||||
|
} else {
|
||||||
|
println("Code not decode EPC QR code: ${result.error}")
|
||||||
|
}
|
||||||
|
```
|
Loading…
Reference in New Issue